サポート » テーマ » テンプレート毎のcssの振り分けについて

  • 解決済 sa-yama

    (@sa-yama)


    お世話になります。

    テンプレートよって、レイアウトが違うのでfunction.php内でcssの振り分けをしております。
    下記urlを参考に作業を進めていましたが、振り分けがうまく動作致しません。
    解決策を教えていただきたいです。
    http://www.webcreator-net.com/tips_memo/wordpress/20111229230125.html

    ○使用するcss
    base.css
    index.css
    aside.css
    archive.css

    ○希望の振り分け
    index.php、ホーム、ギャラリー(カテゴリ)→base.css + index.css

    category.php、archive.php、tag.php、newsとgallery(カテゴリ)以外の投稿記事
    →base.css + archive.css

    その他のpage.phpとnews(カテゴリ)の投稿記事→base.css + aside.css

    現状のfunction.phpは下記の通りです。

    /**
     * css切り替え
     */
    
    function register_style() {
      wp_register_style('style', get_stylesheet_directory_uri().'/css/base.css');
      wp_register_style('home', get_stylesheet_directory_uri().'/css/index.css');
      wp_register_style('single', get_stylesheet_directory_uri().'/css/archive.css');
      wp_register_style('category', get_stylesheet_directory_uri().'/css/archive.css');
      wp_register_style('archive', get_stylesheet_directory_uri().'/css/archive.css');
      wp_register_style('archive-information', get_stylesheet_directory_uri().'/css/archive-information.css');
      wp_register_style('page', get_stylesheet_directory_uri().'/css/aside.css');
      wp_register_style('tag', get_stylesheet_directory_uri().'/css/archive.css');
      wp_register_style('gallery', get_stylesheet_directory_uri().'/css/index.css');
    }
       function add_stylesheet() {
         register_style();
         // 全ページ共通
         wp_enqueue_style('style');
         // TOPページ専用
         if (is_home()){
            wp_enqueue_style('home');
         }
         // 投稿・カスタム投稿ページ
         elseif ( !in_category(array('gallery','news')) ) {
            wp_enqueue_style('single');
         }
       // 投稿・ギャラリーページ専用
         elseif (in_category('gallery')) {
            wp_enqueue_style('gallery');
         }
    	 // 投稿・カスタム投稿ページ
         elseif ( in_category('news') ) {
            wp_enqueue_style('page');
         }
         // カテゴリページ専用
         elseif (is_category()) {
            wp_enqueue_style('category');
         }
    	 // タグページ専用
         elseif (is_tag()) {
            wp_enqueue_style('tag');
         }
    	  // タグページ専用
         elseif (is_archive()) {
            wp_enqueue_style('archive');
         }
         // カスタム投稿アーカイブページ専用
         elseif (is_post_type_archive('ポストタイプ名')) {
            wp_enqueue_style('archive-information');
         }
         // 固定ページ専用
         elseif (is_page()) {
            wp_enqueue_style('page');
         }
       }
    add_action('wp_print_styles', 'add_stylesheet');

    よろしくお願い致します。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • 参考にしたサイトがまずかったようですね。wp_print_styles は、

    Plugin API/Action Reference/wp print styles(日本語ありません)

    にて、「should not be used to enqueue styles or scripts on the front page」と言われています(front page は、たぶん front end の間違い)。根拠は、おそらく、

    Use wp_enqueue_scripts, not wp_print_styles, to enqueue scripts and styles for the frontend(日本語ありません)

    あたりだと思います。backward compatibility を常に重視する Nacin さんの言うことなので、きっとそうなのでしょう。

    wp_print_styles を、wp_enqueue_scripts に替えてみてください。

    トピック投稿者 sa-yama

    (@sa-yama)

    kjmtsh様
    ご回答ありがとうございます。

    教えて頂きました通り、wp_print_styles → wp_enqueue_scriptsに変更で
    対応することができました。

    御礼が遅くなり、申し訳ございません。
    ありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「テンプレート毎のcssの振り分けについて」には新たに返信することはできません。