WordPressのカスタム投稿タイプ「news」の編集ページでパーマリンクの上に注意メッセージを表示する方法

はじめに

WordPressのカスタム投稿タイプ news の編集ページにおいて、パーマリンク(スラッグ入力欄)のすぐ上に赤字の注意メッセージを表示 したい場合があります。

本記事では、PHPとJavaScriptを組み合わせて、パーマリンクの上に注意メッセージを追加する方法 を解説します。


実装方法

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

// WordPress管理画面で「news」の編集ページに注意メッセージを表示する関数
function custom_news_admin_notice_script($hook) {
    global $post;

    // 'post.php' (投稿編集ページ) と 'post-new.php' (新規作成ページ) のみ適用
    if (($hook === 'post.php' || $hook === 'post-new.php') && isset($post->post_type) && $post->post_type === 'news') {
        ?>
        <script>
        document.addEventListener("DOMContentLoaded", function() {
            // パーマリンクの要素を取得(タイトルを入力すると表示される部分)
            let permalinkElement = document.getElementById("edit-slug-box");
            
            // パーマリンク要素が存在する場合のみ実行
            if (permalinkElement) {
                // メッセージ用の要素を作成
                let messageDiv = document.createElement("div");
                messageDiv.innerHTML = "※ このニュースは公開前に内容をよく確認してください!";
                messageDiv.style.color = "red"; // 赤字に設定
                messageDiv.style.fontWeight = "bold"; // 太字に設定
                messageDiv.style.fontSize = "14px";
                messageDiv.style.marginBottom = "10px";
                
                // パーマリンクの前にメッセージを挿入
                permalinkElement.parentNode.insertBefore(messageDiv, permalinkElement);
            }
        });
        </script>
        <?php
    }
}
// WordPress管理画面のスクリプトを追加
add_action('admin_enqueue_scripts', 'custom_news_admin_notice_script');

コードの解説

  1. admin_enqueue_scripts フックを使用
    • WordPressの管理画面でスクリプトを読み込むために admin_enqueue_scripts を利用。
    • post.php(編集ページ)と post-new.php(新規作成ページ)のみに適用。
  2. 現在の投稿タイプを取得し、news の場合のみ処理を実行
    • global $post; で現在の投稿情報を取得。
    • $post->post_type === 'news' の場合のみスクリプトを動作。
  3. JavaScript で edit-slug-box 要素を取得し、メッセージを追加
    • document.getElementById("edit-slug-box") でパーマリンクの要素を取得。
    • createElement("div") でメッセージ用の <div> を作成。
    • insertBefore() を使い、パーマリンクの前にメッセージを挿入。
  4. メッセージのスタイリング
    • color: red; で赤字に設定。
    • font-weight: bold; で太字に設定。
    • font-size: 14px; で文字サイズを設定。
    • margin-bottom: 10px; で余白を追加し、読みやすく。

実行結果

  1. news投稿編集ページ にアクセス。
  2. タイトルを入力すると、パーマリンクが表示される
  3. パーマリンクのすぐ上に、赤字の注意メッセージが表示される 🎉。

まとめ

本記事では、WordPressのカスタム投稿タイプ newsパーマリンクの上に注意メッセージを表示する方法 を解説しました。

  • admin_enqueue_scripts フックでスクリプトを管理画面に追加
  • JavaScript で edit-slug-box の上にメッセージを挿入
  • スタイルを適用して赤字・太字で強調

この方法を使えば、特定の投稿タイプにのみ注意メッセージを表示 でき、重要な注意事項を編集者に明示 できます。

コメント

タイトルとURLをコピーしました