※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 を追加して、記事を「公開」するだけです。
<head></head>
に反映されていることを確認して下さい。