【プラグイン不要】特定の記事・ページに個別に JavaScript を読み込ませる方法

※phpファイルを編集する際は、必ずバックアップを取ってから作業を開始して下さい。

長くウェブサイト運営を続けていると、「この記事でだけこの JavaScript(JSファイル)読み込ませたいなー」なんて思うこともあると思います。
そんな時、静的サイトであれば該当の html ファイルに追加するだけなので簡単なのですが、WordPress の場合にはそういうわけにいきません。

JavaScript 追加用のフィールドを作成する

下記のコードを functions.php に追加します。

// Custom JS Widget
add_action( 'admin_menu', 'custom_js_hooks' );
add_action( 'save_post', 'save_custom_js' );
add_action( 'wp_head', 'insert_custom_js' );
function custom_js_hooks() {
    add_meta_box( 'custom_js', 'Custom JS', 'custom_js_input', 'post', 'normal', 'high' );
    add_meta_box( 'custom_js', 'Custom JS', 'custom_js_input', 'page', 'normal', 'high' );
}
function custom_js_input() {
    global $post;
    echo '<input type="hidden" name="custom_js_noncename" id="custom_js_noncename" value="'.wp_create_nonce('custom-js').'" />';
    echo '<textarea name="custom_js" id="custom_js" rows="5" cols="30" style="width:100%;">'.get_post_meta($post->ID,'_custom_js',true).'</textarea>';
}
function save_custom_js($post_id) {
    if (!wp_verify_nonce($_POST['custom_js_noncename'], 'custom-js')) return $post_id;
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return $post_id;
    $custom_js = $_POST['custom_js'];
    update_post_meta($post_id, '_custom_js', $custom_js);
}
function insert_custom_js() {
    if ( is_page() || is_single() ) {
        if ( have_posts() ) : while ( have_posts() ) : the_post();
        echo '<script type="text/javascript">' . get_post_meta(get_the_ID(), '_custom_js', true) . '</script>';
        endwhile; endif;
        rewind_posts();
    }
}

続いて、「投稿」>「新規追加」を開きます。
「表示オプション」を開くと「Custom JS」という項目が追加されているはずなので、「Custom JS」にチェックを入れます。
※フィールドの名前を変更する場合は、6・7行目の「Cuntom JS」を別のものに変更して下さい。

【プラグイン不要】特定の記事・ページに個別に JavaScript を読み込ませる方法

あとはここに JavaScript を追加して、記事を「公開」するだけです。
<head></head> に反映されていることを確認して下さい。