いつも忘れるので、メモ。カスタムフィールドを使って、表示させたいページがあったので・・・
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番目で指定した関数
要するに、ボックスに表示させるデータを書き込む。
入力値があるときは、保存
今回はここパス。