ワードプレスのadd_posts_page関数の使用方法・解説

概要

add_posts_page関数は、WordPressの管理画面の「投稿」メニューにサブメニューを登録するために使用されます。この関数を活用することで、カスタム設定画面や特定の機能を持つページを簡単に追加できます。よく使われる機能には以下のようなものがあります。

  1. カスタム投稿タイプの設定ページ
  2. 投稿のインポート・エクスポート機能
  3. 投稿の分析ツール
  4. ショートコードの管理
  5. 投稿のカスタムフィールド管理
  6. サードパーティプラグインの設定ページ
  7. 投稿のテーマ管理
  8. 投稿のコメント設定

構文

add_posts_page( $page_title, $menu_title, $capability, $menu_slug, $function );

パラメータ

  • $page_title (string) – サブメニュー項目のページタイトル
  • $menu_title (string) – 管理メニューに表示される項目タイトル
  • $capability (string) – このメニューを表示するための権限
  • $menu_slug (string) – メニューのスラッグ
  • $function (callable) – メニューのページが表示されたときに呼ばれる関数

戻り値

  • なし(この関数は何も返しませんが、WordPressの管理メニューにサブメニューを追加します。)

関連する関数

add_posts_pageの関連関数

使用可能なバージョン

  • この関数はバージョン 2.7 から使用可能です。

コアファイルのパス

  • /wp-admin/includes/plugin.php

この関数のアクションでの使用可能性

アクション名 使用例
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

サンプルコード

サンプル1: 簡単なサブメニューページを追加する

function my_custom_post_page() {
    add_posts_page( 'My Custom Page', 'My Custom', 'manage_options', 'my-custom-page', 'my_custom_page_callback' );
}

function my_custom_page_callback() {
    echo '<h1>My Custom Post Page</h1>';
}

add_action( 'admin_menu', 'my_custom_post_page' );

このコードは、「投稿」メニューに「My Custom」というサブメニューを追加し、そのページが表示されたときに「My Custom Post Page」というタイトルを表示します。

サンプル2: 投稿設定ページの作成

function add_my_post_settings() {
    add_posts_page( 'Post Settings', 'Post Settings', 'manage_options', 'post-settings', 'post_settings_callback' );
}

function post_settings_callback() {
    echo '<h1>Post Settings</h1>';
    // 設定フォームなどのコード
}

add_action( 'admin_menu', 'add_my_post_settings' );

この例では、投稿の設定ページを追加し、その中に設定フォームを追加するためのコールバック関数を設定しています。

サンプル3: 投稿のインポート機能を追加

function my_import_post_page() {
    add_posts_page( 'Import Posts', 'Import Posts', 'manage_options', 'import-posts', 'import_posts_callback' );
}

function import_posts_callback() {
    echo '<h1>Import Posts</h1>';
    // インポート機能のコード
}

add_action( 'admin_menu', 'my_import_post_page' );

このコードによって、「投稿」メニューに「Import Posts」というサブメニューが追加され、インポート機能を実装するためのコールバック関数が指定されています。

サンプル4: 投稿のカスタムフィールド管理ページを作成

function my_custom_fields_page() {
    add_posts_page( 'Custom Fields', 'Custom Fields', 'manage_options', 'custom-fields', 'custom_fields_callback' );
}

function custom_fields_callback() {
    echo '<h1>Manage Custom Fields</h1>';
    // カスタムフィールドの管理コード
}

add_action( 'admin_menu', 'my_custom_fields_page' );

このサンプルでは、投稿のカスタムフィールドを管理するためのページを作成します。

サンプル5: 投稿のショートコード管理ページの追加

function my_shortcode_manager_page() {
    add_posts_page( 'Shortcodes', 'Shortcodes', 'manage_options', 'shortcodes', 'shortcode_manager_callback' );
}

function shortcode_manager_callback() {
    echo '<h1>Shortcode Manager</h1>';
    // ショートコード管理機能のコード
}

add_action( 'admin_menu', 'my_shortcode_manager_page' );

このコードは、「投稿」メニューに「Shortcodes」というサブメニューを追加して、ショートコードを管理するための機能を実装します。

この関数について質問する


上の計算式の答えを入力してください