WordPress – 在文章編輯頁面增加私人筆記欄位寫備註

在文章編輯頁面新增Custom Post Options區塊,包含顯示修改日期選項和私人筆記欄位。透過add_meta_box函式建立meta box,並使用callback函式定義內容。最後以save_post hook儲存輸入的資料。

首先,我們先在文章編輯頁面增加一個meta box,也就是上圖中Cutom Post Options的這個區塊。

add_action( 'add_meta_boxes', 'custom_post_option_meta_box' );
function custom_post_option_meta_box() {
    add_meta_box(
        'custom_post_option_meta_group',
        'Custom Post Options',
        'custom_post_option_meta_box_callback',
        'post'
    );
}

新增meta box後,callback的部份即是meta box裡面要顯示的內容。

function custom_post_option_meta_box_callback($post){
  $post_id = $post->ID; ?>
  <?php $modified_date_switch = get_post_meta($post_id,'show_modified_date', true ); ?>
  <div class="meta_box_item">
    <label>Show Modified Date</label>
    <input type="checkbox" name="show_modified_date" <?php echo ($modified_date_switch) ? 'checked' : ''; ?>>
  </div>
  <?php $private_note = get_post_meta( $post_id, '_private_note', true ); ?>
  <div class="meta_box_item">
    <label>Private Note</label>
    <textarea id="private_note" name="private_note"><?php echo $private_note; ?></textarea>
  </div>
  <?php
}

最後,將meta box中的值儲存成post meta,沒做這一步的話就不會儲存。

add_action('save_post', 'save_post_private_note');
function save_post_private_note( $post_id ) {
  if ( isset($_POST['private_note']) ) {
		update_post_meta($post_id, '_private_note', esc_textarea($_POST['private_note']));
  }
}

推薦文章

WordPress客製化網頁設計,複製貼上就搞定的程式碼大全

🚀 以每年 5 美元解鎖無廣告體驗

✓ 14 天免費試用 ✓ 隨時取消

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *