archiveの種類別にc-entriesのスタイルを変えたい

  • このトピックには6件の返信、2人の参加者があり、最後にmimiにより3週、 2日前に更新されました。
7件の投稿を表示中 - 1 - 7件目 (全7件中)
  • 投稿者
    投稿
  • #52084
    mimi
    参加者

    トピックを新しく立てる方は次の項目も記述してください(要望トピックの場合は不要です)。

    【お使いの Snow Monkey のバージョン】 10.6.1
    【お使いのブラウザ】 Chrome
    【当該サイトのURL】(公開できる場合は書いていただいたほうがスムーズです)

    ===
    お世話になっておりますっ。
    アーカイブ表示を category と home と 特定のカスタム投稿タイプでは rich-media で、それ以外では simple で表示させたいのですが、フックの方法はありますか?

    0
    #52104
    キタジマ タカシ
    キーマスター

    こういうのは snow_monkey_get_template_part_args でやるのが良さそうと思ったのですが、.c-entries に仕込みをしていませんでした…。(後のアップデートで追加できそうかは検討します)

    ということで、やるなら theme_mod を書き換える感じですかね。

    add_filter(
    	'theme_mod_<post type>-entries-layout',
    	function( $mod ) {
    		return 'simple';
    	},
    	11
    );

    simple にしたいカスタム投稿タイプが news だったとしたら theme_mod_news-entries-layout がフック名となります。

    フックを使わなくてもカスタマイザーからでも設定できるので、そっちでも良いかもです。

    4
    #52121
    mimi
    参加者

    早速のご回答ありがとうございます!やはりc-entriesには最終兵器が効かないんですね。
    そして、すみません書き方が良くなかったです。説明不足でごめんなさい。

    simple にしたいのは
    tag, search, author, etc.
    などで、

    rich-media にしたいのは
    home, category, (特定のカスタム投稿タイプ)

    なので、基本設定を simple にして home, category, (特定のカスタム投稿タイプ) を rich-media にするように書き換えるのが良いのかな、と書きながら思いました。

    home と categoryの書き換え方を考えます。ありがとうございます。

    0
    #52130
    キタジマ タカシ
    キーマスター

    homecategory は投稿タイプが post なので

    add_filter(
    	'theme_mod_post-entries-layout',
    	function( $mod ) {
    		if ( is_home() || is_category() ) {
    			return 'rich-media';
    		}
    		return $mod;
    	},
    	11
    );
    
    add_filter(
    	'theme_mod_news-entries-layout',
    	function( $mod ) {
    		return 'rich-media';
    	},
    	11
    );

    検索画面は投稿タイプがいろいろになる可能性があるのでちょっとややこしいかも…。

    次のアップデートでアーカイブまわりにテンプレート変数を追加するので、それからのほうが対応しやすいかもです…!

    5
    #52133
    mimi
    参加者

    わー、即回答ありがとうございます!
    そして、アプデありがとうございます!
    お言葉に甘えて、他の開発優先して待っていようかしら…神対応すぎます。助かります。

    1
    #52189
    キタジマ タカシ
    キーマスター

    v10.8.0 でテンプレートにレイアウト変更のための変数を追加しました! こんな感じでカスタマイズできるようになりました。

    add_filter(
    	'snow_monkey_get_template_part_args',
    	function( $args ) {
    		if ( 'template-parts/archive/entry/content/content' === $args['slug'] ) {
    			if ( is_home() || is_category() || 'news' === $args['name'] ) {
    				$args['vars']['_entries_layout'] = 'text';
    			} else {
    				$args['vars']['_entries_layout'] = 'simple';
    			}
    		}
    		return $args;
    	}
    );

    $args['name'] には投稿タイプ名、searchno-matchnone のいずれかが入ってきます。

    5
    #52297
    mimi
    参加者

    超助かりました。ありがとうございます!トピック閉じさせていただきます!

    1
7件の投稿を表示中 - 1 - 7件目 (全7件中)
  • トピック「archiveの種類別にc-entriesのスタイルを変えたい」には新しい返信をつけることはできません。