WEBEER – Web制作の覚えがき –

【WordPress】記事IDを管理バーに表示したい

WordPress
WordPress 更新日:2020.08.23 公開日:2020.08.23

テーマによってはショートコードを使う際に投稿IDを入力することがあります。

投稿IDは編集画面に行けば確認できますが、いちいち編集画面に行くのはちょっと面倒なんですよね。

そこで管理バー(WordPressにログインした時表示される上部の黒いメニューバーのこと)に表示する機能を作ってみることにしました。

やりたいこと

管理バーに表示中の記事のIDを表示したい。表示するのは投稿ページと固定ページにする。

作り方

管理バーはwp_before_admin_bar_renderというアクションフックで変更することができます。

/**
 * 管理バーのカスタマイズ
 */
function mytheme_admin_bar_render() {
  // グローバル変数を読み込んでおく
  global $wp_admin_bar, $post;

  // 投稿ページと個別ページの時だけ表示したい
  if( is_single() || is_page() ) {

    // 管理バーに追加する
    $wp_admin_bar->add_menu( array(
        'id' => 'mypost_id',
        'title' => '記事ID:' . $post->ID,
        'href' => ''
    ));
  }
}
add_action( 'wp_before_admin_bar_render', 'mytheme_admin_bar_render' );

解説

関数の中でグローバル変数を使うときはglobal $var;と宣言する必要があります。

global $wp_admin_bar, $post;

ここでは既存の管理バーの情報と、記事の情報を使うので$wp_admin_bar$postを宣言します。

次に管理バーに追加するときの書き方です。

$wp_admin_bar->add_menu( array( $id, $title, $url ) );

$idは任意のテキストを設定してください。

これで管理バーに投稿IDが表示されるようになりました。