2015年9月18日

個別投稿headに直接入力する方法。プラグイン無し、簡単に設定できる。

スポンサードリンク

 いつものfunction.phpシリーズです。
プラグインをなるべく使わずに済ませたい私は、
よくfunction.phpを触っています。

プラグイン不要。
投稿の個別ページのみにCSS,JavaScript、メタ情報を追加できる優れもの。
meta descriptionやnoindex,followの設定など。



投稿毎にメタやCSS、スクリプトの設定をしたい場合



 function.phpを触ります。
必ず全てのデータのバックアップを取っておいて下さい。

また、function.phpも、上手く動かなければ元に戻せるように
バックアップを取っておきましょう。


 では、以下をWordPressのfunction.phpに追加して下さい。

(このままコピーしないで下さい。UTF-8Nに変換して下さい。)



//記事別にhead内に追加
add_action('admin_menu', 'add_head_hooks');
add_action('save_post', 'save_add_head');
add_action('wp_head','insert_add_head');
function add_head_hooks() {
add_meta_box('add_head', 'headに追加', 'add_head_input', 'post', 'normal', 'high');
add_meta_box('add_head', 'headに追加', 'add_head_input', 'page', 'normal', 'high');
}
function add_head_input() {
global $post;
echo '<input type="hidden" name="add_head_noncename" id="add_head_noncename" value="'.wp_create_nonce('add-head').'" />';
echo '<textarea name="add_head" id="add_head" rows="5" cols="30" style="width:100%;">'.get_post_meta($post->ID,'_add_head',true).'</textarea>';
}
function save_add_head($post_id) {
if (!wp_verify_nonce($_POST['add_head_noncename'], 'add-head')) return $post_id;
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return $post_id;
$add_head = $_POST['add_head'];
update_post_meta($post_id, '_add_head', $add_head);
}
function insert_add_head() {
if (is_page() || is_single()) {
if (have_posts()) : while (have_posts()) : the_post();
echo get_post_meta(get_the_ID(), '_add_head', true);
endwhile; endif;
rewind_posts();
}
}


個別の投稿毎に好きな指定を追加できる



 投稿の編集画面に、

headに追加

という項目が表示されるようになります。
ここに追加するだけでOK。


 追加方法は、
テンプレートやheader.phpに入力する時と同じように
コードを追加します。

以下は例です。
ご参考にどうぞ。


CSSを追加する



<style>body{display: none;}</style>
全て非表示にする

<style type="text/css">body {background-color:#fff;}</style>
バックグラウンドの色を真っ白に変える

など。



JavaScriptを追加する



<script type="text/javascript" src="jsファイルまでの絶対パス" ></script>


ポイントは絶対パスを入力する事。
つまりドメインを短縮したURLではなく、正しく全部入力してください。

外部ファイルでも大丈夫です。(多分)




metaを追加する



<meta name="keywords" content="キーワード1, キーワード2, キーワード3">
メタキーワードはSEOであまり意味がないとか…?
どうなんでしょうね。

<meta name="robots" content="index,nofollow">
インデックスはして下さい、でもページを辿らなくて良いです。

<meta name="robots" content="noindex,nofollow">
インデックスはしないで下さい、ページを辿らないで下さい。

<meta name="robots" content="noindex,follow">
インデックスはしないで下さい、でもページは辿って下さい。


 こういう個別の設定が出来るようになります。

インデックスさせたくない(アクセス数が低い等の理由で)投稿は
個別でメタを設定しても良いかもしれませんね。


<meta name="description" content="説明文。">
は、使っていません。

サイト全体のdescriptionを設定するメタタグは、
ちゃんとheadに置いてあります。


 そもそもdescription設定欄が
元々のテーマに入っている事が多いと思います。

なので投稿の編集ページに初めからあるのではないでしょうか?
もしなかったら追加されると良いでしょう。


 ちなみに私は投稿一つ一つにdescriptionは設定していません。

メタキーワードの代わりにあえて指定する事はありますが、ごくマレです。
検索ワード拾いや要約等、おおかたbotにまかせています。


参考にしたサイト

WordPressで記事ごとにヘッダの記述を追加する方法

ページごとに個別のCSSやJavaScript、meta descriptionなどを追加する方法




 こちらのブログはBloggerです。
WordPressの実際の表示を確認したい方は
ラビットしま子の「人生美容パラダイス」をご覧下さい。


 当ブログの情報は全ての方に応用できるとは限りません。
ご利用は自己責任です。当ブログ側はいかなる責任も負いません。

必ずデータは最新のバックアップを取っておいて下さい。


 WordPressを利用される場合はUTF-8Nの文字コードに必ず変換して下さい。

当ブログのコードをコピーしてphpファイル等に直で貼付けすると
ファイルやデータが破損します。
パソコンのメモ帳は不可です。

詳細はWordPressヘルプを参照下さい。


 ラビットしま子はサイト制作のプロではありません。
個別のカスタマイズについての相談は乗ってあげたいけど、乗れません。
(わからんから)


スポンサードリンク