管理画面にメモ欄を追加する方法

WordPressの管理画面(ダッシュボード)にちょっとしたメモを残せる欄があると便利です。
例えば作業メモや今後のタスクを簡単に書き留めておけば、ログインするたびに確認できます。

ただし、テーマによってはすでに「クイックドラフト」というメモ欄が最初から用意されています。
特に LightningCocoon にはデフォルトでクイックドラフトが付いているため、これらのテーマでは新しいメモ欄を追加する必要はありません。

functions.php にコードを追加

子テーマの functions.php に以下のコードを追加してください。


// 管理画面にメモ欄ウィジェットを追加(Lightning / Cocoon は除外)
function my_custom_dashboard_memo_widget() {
    // 現在のテーマを取得
    $theme = wp_get_theme();
    $theme_name = $theme->get('Name');

    // Lightning または Cocoon の場合は処理をスキップ
    if ( in_array( $theme_name, array( 'Lightning', 'Cocoon' ) ) ) {
        return;
    }

    // ウィジェットを追加
    wp_add_dashboard_widget(
        'my_memo_widget',                // ウィジェットID
        'メモ欄',                        // タイトル
        'my_memo_widget_display'         // 表示コールバック
    );
}
add_action( 'wp_dashboard_setup', 'my_custom_dashboard_memo_widget' );

// メモ欄の表示(フォーム + nonce)
function my_memo_widget_display() {
    $memo = get_option( 'my_dashboard_memo', '' );
    echo '<form method="post">';
    wp_nonce_field( 'my_dashboard_memo_action', 'my_dashboard_memo_nonce' );
    echo '<textarea name="my_dashboard_memo" style="width:100%; height:150px;">' . esc_textarea( $memo ) . '</textarea>';
    echo '<p><input type="submit" class="button button-primary" value="保存する"></p>';
    echo '</form>';
}

// メモ欄の保存処理
function my_memo_widget_save() {
    if ( isset($_POST['my_dashboard_memo']) ) {
        if ( ! isset($_POST['my_dashboard_memo_nonce']) ) return;
        if ( ! wp_verify_nonce( wp_unslash($_POST['my_dashboard_memo_nonce']), 'my_dashboard_memo_action' ) ) return;
        if ( ! current_user_can( 'edit_posts' ) ) return;

        $memo = sanitize_textarea_field( wp_unslash($_POST['my_dashboard_memo']) );
        update_option( 'my_dashboard_memo', $memo );
    }
}
add_action( 'admin_init', 'my_memo_widget_save' );
  

使い方

  • 管理画面にログインすると「メモ欄」というウィジェットが追加されます
  • テキストを入力して「保存する」ボタンを押すと内容が保存されます
  • Lightning / Cocoon を使っている場合は追加されません(既にクイックドラフトがあるため)

メモ帳

クイックドラフトを消す

試しにデフォルトのクイックドラフトを消すことも可能です。


// 管理画面のクイックドラフトを非表示にする
add_action( 'wp_dashboard_setup', function() {
    remove_meta_box( 'dashboard_quick_press', 'dashboard', 'side' ); // クイックドラフト
}, 20 );
  

まとめ

ダッシュボードにメモ欄を追加すると、管理作業の効率がアップします。
ちょっとした作業メモやリマインダーを書き込んで、日々の運用に役立ててみてください。