投稿一覧(リッチメディア)でのカテゴリー表示の条件分けをしたい。

0
いいねをした人: 居ません
  • このトピックには3件の返信、2人の参加者があり、最後にmrcにより10ヶ月、 4週前に更新されました。
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • 投稿者
    投稿
  • #124732
    mrc
    参加者
    4

    【お使いの Snow Monkey のバージョン】
    バージョン: 20.1.0
    【お使いの Snow Monkey Blocks のバージョン】
    バージョン 19.3.2
    【お使いの Snow Monkey Editor のバージョン】
    バージョン 9.2.5
    【お使いの Snow Monkey Forms のバージョン】
    バージョン 5.0.7
    【お使いのブラウザ】
    Chrome
    【当該サイトのURL】

    ### 実現したいこと

    投稿一覧(リッチメディア)で、新しく投稿されたものに関しては、カテゴリラベルのところにNewマークがつくようにしたい。
    加えて、新しく投稿されたもの(Newマークがつくもの)以外のカテゴリラベルの表示位置を変更したい。
    ※Newマークがついたものは、一定期間が過ぎたら他と同じく、変更した表示位置にカテゴリ表示されるようにしたいです。

    ### 発生している問題

    投稿一覧で、「新しく投稿されたものに関してはカテゴリラベルのところにNewマークがつくようにする」というのは他の質問トピックを参考にして設定することができました。
    新しく投稿されたもの(Newマークがつくもの)以外のカテゴリラベルの表示位置を変更するということに関しては、cssで挑戦してみたものの、Newマークを含む全てのラベルに反映されてしまうのでできませんでした。

    Newマークがつくようにするものと、その他のもの、という条件で分けるカスタマイズをする必要がありますでしょうか?

    ### 試したこと

    「新しく投稿されたものに関してはカテゴリラベルのところにNewマークがつくようにする」は以下のコードを加えました。

    add_filter(
    ‘snow_monkey_get_template_part_args_template-parts/loop/entry-summary/term/term’,
    function( $args ) {
    $days = 3; // NEWマークを表示する日数
    $now = date_i18n( ‘U’ ); // 今の時間
    $entry = get_the_time( ‘U’ ); // 投稿日の時間
    $term = date( ‘U’,( $now – $entry ) ) / 86400;
    if ( $days > $term ) {
    $new_term = new stdClass();
    $new_term->taxonomy = ‘my-new’;
    $new_term->term_id = 0;
    $new_term->name = ‘NEW’;
    $args[‘vars’][‘_terms’] = [ $new_term ];
    }

    return $args;
    }
    );

    また、こちらのトピックを参考にラベルの表示位置を変更しようとしたのですが、できませんでした。

    0
    いいねをした人: 居ません
    #125042
    GONSY
    参加者
    807

    「新しく投稿されたものに関してはカテゴリラベルのところにNewマークがつくようにする」は以下のコードを加えました。

    すでに「NEW」が表示されているということですね。
    私がやるとすれば、サムネイル上の「NEW」以外のカテゴリー名はCSS( display: none )で消します。
    ご提示のコードの場合、該当の要素に my-new がついていると思いますので、そこだけ強制的に表示させます。

    .c-entries .c-entry-summary__term {
    	display: none;
    }
    
    .c-entries span[class*="my-new"] {
        display: block!important;
    }

     
     
    カテゴリーの表示は、位置をCSSで移動させるのがちょっと嫌なので、フィルターフック snow_monkey_template_part_render_template-parts/loop/entry-summary</header> の後に replace を使ってリンクなしのカテゴリーを表示するようにしてあげれば、それっぽい感じになると思います。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary',
    	function( $html ) {
    		$category = get_the_category();
    		$cat_name = $category[0]->cat_name;
    		$html = str_replace( 
    			'</header>',
    			'</header><p class="cat_name_origin"><span>'. $cat_name. '</span></p>',
    			$html
    			);
    			return $html;
    	}
    );

    もっとスマートな方法もあるかと思いますが、1つの例として参考にしていただければと思います。

    1
    いいねをした人:
    #125116
    mrc
    参加者
    4

    ご丁寧に教えていただきありがとうございます!
    とても参考になります。
    まずその方法で挑戦してみます。

    0
    いいねをした人: 居ません
    #125179
    mrc
    参加者
    4

    GONSYさま

    ご教授いただいた方法でやってみましたら、とてもスムーズに理想通りの形で表示することができました!
    ありがとうございます。

    0
    いいねをした人: 居ません
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • トピック「投稿一覧(リッチメディア)でのカテゴリー表示の条件分けをしたい。」には新しい返信をつけることはできません。

ドキュメント

Snow Monkey の設定方法やマニュアルを掲載しています。

ドキュメント

フォーラム

Snow Monkey の使い方やカスタマイズについてのご質問・ご要望等はサポートフォーラムで行っています。サポートフォーラムは誰でも閲覧できますが、書き込みできるのは Snow Monkey 購入者のみとなります。

サポートフォーラム

よくあるご質問

Snow Monkey のサービスについて不明な点がある場合は、まずはよくあるご質問をご確認ください。

よくあるご質問

お問い合わせ

よくあるご質問を見ても解決しなかった場合、試用版の申請については問い合わせフォームからお願いいたします。

お問い合わせ

Snow Monkey は Gutenberg ブロックエディターに対応した 100%GPL の WordPress テーマです。拡張性を意識した開発をおこなっており、カスタマイザーとブロックでスピーディーにサイトを立ち上げるだけでなく、CSS やフックを駆使した高度なカスタマイズにも柔軟に対応できます。