広告

WordPressでカスタムフィールド

この記事は約3分で読めます。

いつも忘れるので、メモ。カスタムフィールドを使って、表示させたいページがあったので・・・

function.phpに記載。

get_template_part( ‘lib/news’ ); のように、別ファイルに書き込んで読み込むのもあり。

完成形

/**
 * 固定カスタムフィールドボックス
 */
function add_fields() {
  add_meta_box( 'preview_setting', 'プレビュー', 'insert_fields', 'post', 'side' );
}
add_action( 'admin_menu', 'add_fields' );

/**
 * カスタムフィールドの入力エリア
 */
function insert_fields() {
  global $post;
  echo '<a href="' . esc_url( get_home_url( null, '/news?preview=true' ) ) . '" target="_blank" rel="noopener noreferrer" class="components-button is-tertiary">とあるページを表示</a>';
}

/**
 * 本当はココにカスタムフィールドの保存を書き込む(今回はボタンの表示なのでなし)
 */

add_meta_boxのパラメーター

1番目:表示される入力ボックスのHTMLのID,

2番目:ラベル

3番目:表示する内容を作成する関数名

4番目:投稿タイプ(postなら投稿、pageなら固定ページ、カスタム投稿のSlug など)

5番目:表示方法(’normal’, ‘advanced’, ‘side’) 初期値: ‘advanced’

上には書かなかったけど、6番目:ボックスが表示される優先度 (‘high’, ‘core’, ‘default’ または ‘low’)初期値: ‘default’

上には書かなかったけど、7番目:コールバック関数(3番目に指定した関数)に渡す引数。コールバックは$ postオブジェクトと、この変数を介して渡されるパラメーターを受け取ります。・・・使ったことない・・・

※5~7番目は入力なしでもOK

add_meta_boxの3番目で指定した関数

要するに、ボックスに表示させるデータを書き込む。

入力値があるときは、保存

今回はここパス。