add_links_page()
は、WordPress の管理画面にカスタムのリンク管理ページを追加するための関数です。
主に、リンクマネージャーを拡張するために利用されますが、WordPress 3.5 以降ではリンクマネージャー機能がデフォルトで無効化されているため、この関数を使用する場合は事前にリンクマネージャーを有効にする必要があります。独自のリンク管理機能を追加したい場合に便利な関数です。
機能の説明
add_links_page()
は、管理画面の「リンク」メニューの中に新しいサブメニューを追加するための関数です。リンク管理機能をカスタマイズし、独自の設定ページを提供する際に使用されます。
- リンクマネージャーにカスタム設定ページを追加
- 外部リンクの管理機能を拡張
- 独自のリンクカテゴリ設定ページを作成
シンプルなコード例
add_links_page('カスタムリンク設定', 'リンク設定', 'manage_options', 'custom-link-settings', 'my_custom_link_page');
'カスタムリンク設定'
:管理画面のページタイトル'リンク設定'
:管理メニュー内の表示名'manage_options'
:このページにアクセスできる権限(管理者向け)'custom-link-settings'
:ページのスラッグ'my_custom_link_page'
:ページの表示用関数
このコードを functions.php
に追加すると、「リンク」メニューの中に「リンク設定」という項目が追加されます。
使い方の説明
以下のコードでは、カスタムリンク管理ページを追加し、そのページ内に独自のフォームを表示する例を紹介します。
function my_custom_link_page() {
?>
<div class="wrap">
<h1>カスタムリンク設定</h1>
<form method="post" action="options.php">
<?php
settings_fields('custom_link_options');
do_settings_sections('custom-link-settings');
submit_button();
?>
</form>
</div>
<?php
}
add_action('admin_menu', function() {
add_links_page('カスタムリンク設定', 'リンク設定', 'manage_options', 'custom-link-settings', 'my_custom_link_page');
});
my_custom_link_page()
:ページのコンテンツを生成する関数settings_fields('custom_link_options')
:設定保存用のフィールドdo_settings_sections('custom-link-settings')
:設定項目の表示submit_button()
:送信ボタンの表示add_action('admin_menu', function() {...});
:管理メニューにページを追加
このコードを functions.php
に追加すると、管理画面の「リンク」メニュー内に「リンク設定」ページが追加されます。
一緒に使うことが多い関連タグ
add_menu_page()
カスタム管理ページを作成する場合、add_links_page()
より add_menu_page()
を使うことが多いです。
add_menu_page('カスタムメニュー', 'メニュー設定', 'manage_options', 'custom-menu', 'my_custom_menu_page');
add_submenu_page()
add_links_page()
の代わりに add_submenu_page()
を使うことで、特定のメニューのサブメニューとしてカスタムページを追加できます。
add_submenu_page('link-manager.php', 'カスタムリンク', 'カスタムリンク', 'manage_options', 'custom-link', 'my_custom_link_page');
追加情報で取得したい場合
get_bookmarks()
登録されているリンク一覧を取得するには get_bookmarks()
を使用します。
$bookmarks = get_bookmarks();
foreach ($bookmarks as $bookmark) {
echo '<a href="' . esc_url($bookmark->link_url) . '">' . esc_html($bookmark->link_name) . '</a><br>';
}
wp_list_bookmarks()
管理画面ではなく、フロントエンドでリンクを一覧表示したい場合は wp_list_bookmarks()
が便利です。
wp_list_bookmarks(array('title_before' => '<h2>', 'title_after' => '</h2>'));
想定されるトラブル
add_links_page()
が動作しない
WordPress 3.5 以降、リンクマネージャー機能がデフォルトで無効になっているため、メニューが表示されません。
解決方法
以下のコードを functions.php
に追加し、リンクマネージャーを有効化してください。
add_filter('pre_option_link_manager_enabled', '__return_true');
Q&A
まとめ
add_links_page()
は、WordPress のリンクマネージャー内にカスタムのサブメニューを追加するための関数です。
ただし、WordPress 3.5 以降ではリンクマネージャーがデフォルトで無効化されているため、使用する場合は有効化が必要です。新規開発では add_menu_page()
や add_submenu_page()
を使う方が一般的です。
コメント