投稿画面にちょっとしたメモを残したい時ってありませんか?
例えば、私なんかは記事を書く前に必ず「ターゲット設定」をするのですが、
仮にペルソナ設定などをしても、
それを投稿画面には書き残しておけないので、
リライトする時に「どんなターゲット設定で記事書いたっけ(汗)」となるので、困っていました。
しかし、実は簡単なコードをfunctions.phpに加えるだけで、
画像のように、投稿画面にメモを残せるようになります。
このメモ機能はあの有名無料WordPressテーマのSimplicity2やCocoonの作者でお馴染みの寝ログのわいひらさんの記事を参考にさせて頂きました。実際Cocoonには最初からこのメモが実装されてます。
無料WordPressテーマおすすめ2019【個人が情報発信で稼ぐ用】
WordPress投稿画面にメモ機能を実装する方法
必ずバックアップを取ってから実行してください。
やり方は簡単です。
「外観」→「テーマエディター(テーマの編集)」→「functions.php」を選び、
以下のコードを末尾に追記してください。(子テーマでOK)
コピーしました
コピー
///////////////////////////////////////
// 投稿画面のメモ
///////////////////////////////////////
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>
<?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;
これで、投稿画面のサイドバーにメモスペースが現れます。
メモスペースはドラッグで好きな位置に移動可能です。
ちなみに、このコードを作ってくれたわいひらさんの元祖のバージョンは、
投稿一覧画面にもメモが表示されるようになっています。
上のコードだと、その投稿一覧に表示する機能は削除してあるので、
投稿一覧にも表示したい場合は、わいひらさんの元祖バージョンのコードを使ってください。
メモプラグインSimple Post Notesをおすすめしない理由
ちなみに、プラグインでも同じメモが実装できる Simple Post Notes っていうのがあるんですけど、おすすめしません。
理由は最新のWordPressだと、記事を保存(更新)するたびに「ブラウザー内のこの投稿の下書きが以下のバージョンと異なっているようです。 」 というバックアップから復元の警告が出ます。
実際、もう1年以上更新されてないプラグインなので、
バグが出るこのプラグインを使うより、functions.phpに追記の方が軽量な上、バグも出なくて良いです。