コピペ一発でWordPressの投稿・固定ページの管理画面にメモを残す機能を実装する方法

投稿・固定ページ管理画面にメモを残す

WordPressでサイト運営をしていて以下のようなことを考えたりすることがたまにあります。

投稿管理画面に対して備忘録的なメモを残せればいいのに

そんな機能をWordPressテーマにコピペで簡単に実装する方法の紹介です。

管理画面のサイドバーにこんなメモ入力欄を作成します。

投稿にメモ機能を残すカスタマイズ

スポンサーリンク
レクタングル(大)広告

メモ機能の実装方法

今回のメモ機能を実装するには、子テーマ等のfunctions.phpに以下のコードを貼り付けるだけです。

///////////////////////////////////////
// カスタムボックスの追加
///////////////////////////////////////
add_action('admin_menu', 'add_memo_custom_box');
if ( !function_exists( 'add_memo_custom_box' ) ):
function add_memo_custom_box(){
  //メモボックスの追加
  add_meta_box( 'singular_memo_settings','メモ', 'view_memo_custom_box', 'post', 'side' );
  add_meta_box( 'singular_memo_settings','メモ', 'view_memo_custom_box', 'page', 'side' );
}
endif;


///////////////////////////////////////
// 表示
///////////////////////////////////////
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>
	<p>この投稿に記録しておきたいメモがある場合は記入してください。</p>
  <?php
}
endif;

///////////////////////////////////////
// 保存
///////////////////////////////////////
add_action('save_post', 'memo_custom_box_save_data');
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;

///////////////////////////////////////
// メモ内容の取得
///////////////////////////////////////
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;

///////////////////////////////////////
// 投稿一覧にメモカラムの挿入
///////////////////////////////////////
add_filter( 'manage_posts_columns', 'customize_admin_manage_posts_columns' );
if ( !function_exists( 'customize_admin_manage_posts_columns' ) ):
function customize_admin_manage_posts_columns($columns) {
  //メモ表示
  $columns['memo'] = 'メモ';

  return $columns;
}
endif;

///////////////////////////////////////
// 投稿一覧にメモの表示
///////////////////////////////////////
add_action( 'manage_posts_custom_column', 'customize_admin_add_column', 10, 2 );
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;

上記コピペのみで実装できます。

簡単に言うと、以下の実装を行っています。

  • 投稿・固定ページの管理画面にメモ入力フォームを表示する
  • 投稿・固定ページの一覧にメモ表示欄を表示する

それぞれコードの意味を書き出すと、長くなりすぎるので割愛。

動作確認

あとは、投稿管理画面を表示すると以下のように「メモ」入力フォームが表示されます。

管理画面にメモ入力欄表示

例えば、こんな感じで入力して「投稿」ボタンを押すと内容が保存されます。

投稿にメモ機能を残すカスタマイズ

そして、投稿・固定ページの一覧ページで以下のように表示されます。

投稿・固定ページ一覧でメモ表示

まとめ

投稿・固定ページ管理画面へのメモ機能は、こんな感じでコピペで結構簡単にできます(※書かれているコードを理解する必要がなければ)。

人間、「やらなければ!」と強く思っていることでも、しばしば忘れてしまうことはあります。歳をとるとなおさら。

なので「自分は忘れっぽいので、ちょこちょこメモを残しておきたい」なんて場合は、結構重宝するカスタマイズかと思います。

スポンサーリンク
レクタングル(大)広告
レクタングル(大)広告

スポンサーリンク

『コピペ一発でWordPressの投稿・固定ページの管理画面にメモを残す機能を実装する方法』へのコメント

  1. 名前:うみにん 投稿日:2020/02/23(日) 11:01:08 ID:a0d569701

    こんにちは!うみにんと申します。
    wordpressで記事を書いているときに「ちょっとあったら良いのに」
    と思うメモ機能をプラグイン無しに実現できる所が非常に役立ちました!
    ありがとうございます。非常に良い記事でした!!

  2. アバター画像 名前:わいひら 投稿日:2020/02/23(日) 23:03:11 ID:8cff961a8

    カスタマイズ方法がお役に立てたのであれば嬉しいです。
    記事にちょっとしたメモを残したいときに便利ですよね^^

  3. 名前:タコス 投稿日:2020/10/21(水) 02:06:55 ID:c6ef821ca

    とても便利に使わせていただいています。
    質問なんですが、サイドバーというか横に表示されているメモ欄を上下に移動させていたら投稿画面の下に移動してしまいました。
    ドラック&ドロップで元の位置に戻そうとしたのですがサイドバーの元の位置に戻りません。
    もしかしたらグーテンベルクでは使用できないのでしょうか?

  4. アバター画像 名前:わいひら 投稿日:2020/12/27(日) 18:00:34 ID:2623db2e1

    僕がこれまで使ってきた限りでは、GutenbergのサイドバーのD&Dでの移動はできないっぽいです。
    今軽く検索にしてみたのですが、めぼしいへ方法は出てきませんでした^^;