WordPressの投稿画面にメモ欄を追加
Index
― 目次 ―管理画面での表示条件
- 投稿画面の右側に表示
WordPressの投稿画面の右側に表示される「概要」や「カテゴリー」などの箇所に表示させます。 - 表示位置の変更が可能
「概要」や「カテゴリー」などの他の項目と同じように「ドラッグ & ドロップで表示位置の変更ができる」ようにします。 - 投稿一覧にも表示
投稿数が増えてきた際に分かりやすいよう「投稿一覧にもメモ欄を追加」します。
投稿画面にメモ欄を追加
「管理画面での表示条件」にそって「投稿画面の右側に表示」「表示位置の変更が可能」「投稿一覧にも表示」を実装するために、functions.phpに以下のように記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
// 投稿画面にメモを追加 if ( !function_exists( 'add_memo_custom_box' ) ): function add_memo_custom_box(){ add_meta_box( 'singular_memo_settings', 'メモ', 'view_memo_custom_box', 'post', 'side' ); } endif; add_action('admin_menu', 'add_memo_custom_box'); // 投稿画面のメモ表示 if ( !function_exists( 'view_memo_custom_box' ) ): function view_memo_custom_box(){?> <textarea name="the_page_memo" placeholder="メモを入力してください" rows="10" style="width: 100%;"><?php echo get_the_page_memo(); ?></textarea> <?php } endif; // メモの取得 if ( !function_exists( 'get_the_page_memo' ) ): function get_the_page_memo($post_id = null){ if (!$post_id) { $post_id = get_the_ID(); } $value = get_post_meta($post_id, 'the_page_memo', true); return $value; } endif; // メモの保存 if ( !function_exists( 'memo_custom_box_save_data' ) ): function memo_custom_box_save_data($post_id){ if (isset($_POST['the_page_memo'])) { $the_page_memo = $_POST['the_page_memo']; update_post_meta( $post_id, 'the_page_memo', $the_page_memo ); } } endif; add_action('save_post', 'memo_custom_box_save_data'); // 投稿一覧にメモを追加 if ( !function_exists( 'customize_admin_manage_posts_columns' ) ): function customize_admin_manage_posts_columns($columns) { $columns['memo'] = 'メモ'; return $columns; } endif; add_filter( 'manage_posts_columns', 'customize_admin_manage_posts_columns' ); // 投稿一覧のメモ表示 if ( !function_exists( 'customize_admin_add_column' ) ): function customize_admin_add_column($column_name, $post_id) { if ( 'memo' == $column_name ) { // テーマで設定されているサムネイルを利用する場合 $thum = esc_html(get_the_page_memo($post_id)); } if ( isset($thum) && $thum ) { echo $thum; } } endif; add_action( 'manage_posts_custom_column', 'customize_admin_add_column', 10, 2 ); |
[補足]
2・10・18・29・40・49行目が「function_exists()関数」。
「function_exists()」は、指定した関数が既に定義されているかチェックする関数です。
「投稿画面にメモを追加」の箇所でいうと、add_memo_custom_boxという関数が定義されているかチェックし(2行目)、定義されていない場合(3行目)は、add_memo_custom_boxを定義するというように使用します(4行目以降で処理内容を記述)。
4行目の「メモ」の箇所は、お好きな文字列に変更していただいて構いません。
12行目の「placeholder=””」のダブルクォーテーション内には、プレースホルダを記述します(※入力欄に入力例などのテキストを薄いグレーで表示し、入力例をユーザーに提示することができる機能)。
完成イメージは、以下のような感じです。
2・10・18・29・40・49行目が「function_exists()関数」。
「function_exists()」は、指定した関数が既に定義されているかチェックする関数です。
「投稿画面にメモを追加」の箇所でいうと、add_memo_custom_boxという関数が定義されているかチェックし(2行目)、定義されていない場合(3行目)は、add_memo_custom_boxを定義するというように使用します(4行目以降で処理内容を記述)。
4行目の「メモ」の箇所は、お好きな文字列に変更していただいて構いません。
12行目の「placeholder=””」のダブルクォーテーション内には、プレースホルダを記述します(※入力欄に入力例などのテキストを薄いグレーで表示し、入力例をユーザーに提示することができる機能)。
完成イメージは、以下のような感じです。
- 投稿画面と投稿一覧での表示イメージ -
今回は「WordPressの投稿画面にメモ欄を追加する方法」をご紹介しました。
WordPressのちょっとしたカスタマイズとしてご参考いただけますと幸いです。
クライアントさんいわく「登録した内容の覚え書きとして活用したい」とのこと(※例えば…「更新までの期日や補足内容をメモとして残しておきたい」や「編集担当者さんが複数名いる場合に伝達メモとして活用したい」など)。
そこで、今回は「WordPressの投稿画面にメモ欄を追加する方法」をご紹介します。