MENU

add_links_page()

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() は現在も使用できますか?

リンクマネージャー機能が有効になっていれば使用できます。ただし、新規開発では add_menu_page()add_submenu_page() の使用を推奨します。

add_links_page() で追加したページを削除できますか?

remove_menu_page('custom-link-settings') を使用すれば削除できます。

add_links_page() で追加したページのURLはどうなりますか?

https://example.com/wp-admin/link-manager.php?page=custom-link-settings という形式になります。


まとめ

add_links_page() は、WordPress のリンクマネージャー内にカスタムのサブメニューを追加するための関数です。

ただし、WordPress 3.5 以降ではリンクマネージャーがデフォルトで無効化されているため、使用する場合は有効化が必要です。新規開発では add_menu_page()add_submenu_page() を使う方が一般的です。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

This site uses Akismet to reduce spam. Learn how your comment data is processed.

目次