Home > wordpress > カスタムフィールドを使用して投稿別に個別のCSSを適用する方法【WordPress】

カスタムフィールドを使用して投稿別に個別のCSSを適用する方法【WordPress】

それぞれの投稿に個別のcssやjsを適用したいときの対処方法。

もちろんidなどをつけてテーマのstyle.cssに記述しても反映されるのだが、全頁で読み込まれてしまい好ましくない。
よって個別のcssをつくり読み込む方法をメモ。

カスタムフィールドで読み込むファイルを指定します。
head内の読みこませたい箇所に下記を記述 。

<?php
 if (is_single()) {
  //カスタムフィールド「post_css」の値があればCSSファイル読み込み
  $post_css = get_post_meta( $post->ID , 'post_css' , true );
  if ($post_css !== "") {
   echo '<link href="' .get_bloginfo('template_directory') . '/css/' . $post_css .'.css" rel="stylesheet" type="text/css" />';
  }
  //カスタムフィールド「post_js」の値があればJSファイル読み込み
  $post_js = get_post_meta( $post->ID , 'post_js' , true );
  if ($post_js !== "") {
   echo '<script type="text/javascript" src="' .get_bloginfo('template_directory') . '/js/' . $post_js .'.js"></script>';
  }
 }
?>

テーマフォルダに「css」フォルダと「js」フォルダを作成し、その中に各ページ個別のcssファイル、jsファイルを入れる。
各投稿の新しいカスタムフィールドを加して、名前に「post_css」または「post_js」、値にファイル名を入れる。

例:
投稿ID35にpost35.css をリンクしたい場合、post35.cssをテーマ内cssフォルダに入れる。
投稿編集でカスタムフィールドを新規追加し、名前に「post_css」、値に「post35」と入力する。

これでスタイルシートが読み込まれる。
また個別ページの他、ページにも適用したい場合は

if (is_single() || is_page()) {
...
}

といった感じで条件を変更すればOK。

プラグインなどもいくつかあるようでコリスさんでもご紹介されていますので、プラグイン希望の方は参照してみてください。
【coliss】WordPressの記事ごとに個別のCSS, JavaScriptを追加できるプラグイン -Custom CSS and JS

【参考記事】
【作業メモ】WordPressで投稿毎に特定のCSSやJavascriptを読み込む

関連記事

コメント:0

コメントフォーム
Remember personal info

トラックバック:0

このエントリーのトラックバックURL
http://web.donnatokimo.com/wordpress/621/trackback
Listed below are links to weblogs that reference
カスタムフィールドを使用して投稿別に個別のCSSを適用する方法【WordPress】 from ウェブなとき。

Home > wordpress > カスタムフィールドを使用して投稿別に個別のCSSを適用する方法【WordPress】

want

Return to page top