最新記事一覧のブロックに「新着記事(NEW)」アイコンをつけたい

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

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

    【お使いの Snow Monkey のバージョン】

    最新

    【お使いのブラウザ】

    Chrome

    【当該サイトのURL】(公開できる場合は書いていただいたほうがスムーズです)

    ===

    初歩的な質問ですみませんが、

    Snowmonkey用のブロック「最新の投稿」を使って、下記のデザインカンプのように

    最新記事(投稿されて3日以内の記事)に「新着」アイコンを入れ込みたいです。

    PHPのどこかに入れ込めばいいのかなと思ったのですが、どこに書き込めばいいかも分からず・・・

    ご教授いただけると助かります。よろしくお願いいたします。

    0
    いいねをした人: 居ません
    #58546
    キタジマ タカシ
    参加者
    2253

    2点質問です!

    1.
    「投稿されて3日以内の記事に「新着」アイコンを表示するコード」自体はお持ちですか? Snow Monkey にはそのような機能はないのであるならここに貼り付けていただきたいです。

    2.
    実際には新着は数件並ぶと思いますが、例えば1番上の投稿に新着アイコン、2件目以降の投稿には新着アイコン無しのときはどのように表示したいのでしょうか?それによってどこにアイコンを突っ込むのが良いのかや CSS の書き方が違ってくると思います。

    0
    いいねをした人: 居ません
    #58556
    cone
    閲覧者
    1

    PHPコードはこちらです。

    ↑このサイトから拾ってきただけなので、Snow Monkey に使えるかどうかはよくわからないのですが・・

    <?php
    $days = 1; // NEWマークを表示する日数
    $now = date_i18n('U'); // 今の時間
    $entry = get_the_time('U'); // 投稿日の時間
    $term = date('U',($now - $entry)) / 86400;
    if( $days > $term ){
    echo '<span class="newMark">NEW</span>';
    }
    ?>

    「新着記事」タグの有効期間が終わってしまった記事の場合

    できれば「記事のカテゴリ名」に差し替えれるとうれしいです。

    (これが難しそうなら、普通に新着記事マークが消えてるだけでもかまいません)

    0
    いいねをした人: 居ません
    #58571
    Kmical Lights
    閲覧者
    234

    snow-monkey の
    template-parts/loop/entry-summary/term/term.php
    を子テーマなりで上書きすれば手取り早いかもですが推奨できないですね。

    一応サンプルコード(フォーラムに直接書けなかったので…)

    foreachの中だけ変えてます。

    フックでこう変えれば良いんですがちょっとややこしい。。。

    3
    いいねをした人: 居ません
    #58626
    Olein_jp
    参加者
    545
    #58665
    キタジマ タカシ
    参加者
    2253

    お二人の方法でも実現できると思うのですが、僕も別な方法を。

    レイアウトは「テキスト」の想定です。

    追加 CSS に下記の CSS を貼り付けてみてください。

    @media (min-width: 64em) {
    	.c-entries--text .c-entry-summary__body > .c-entry-summary__meta {
    	  width: 16em;
      }
    }
    
    .c-entries--text .c-entry-summary__meta .c-meta {
    	display: flex;
    }
    
    .c-entries--text .c-entry-summary__meta .c-meta__item--categories {
    	display: block !important;
    }

    My Snow Monkey に下記のコードを貼り付けてみてください。

    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/loop/entry-summary/term/term',
    	function( $args ) {
    		$days  = 5; // 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;
    	}
    );
    4
    いいねをした人: 居ません
    #58668
    Olein_jp
    参加者
    545

    @キタジマタカシ

    (人のトピック内で申し訳ありませんが)勉強になります!!

    2
    いいねをした人: 居ません
    #58669
    キタジマ タカシ
    参加者
    2253

    コード的に一番スッキリなのはこの方法かなと思いまして。ただ、本来 WP_Term のオブジェクトを返すべきところに(無理やり)独自のオブジェクトをつくって返しているので、ここはオレインさんがやられているようにテンプレート上書きか、snow_monkey_pre_template_part_rendersnow_monkey_template_part_render でなんとかするほうが安全性は高いと思います。

    1
    いいねをした人: 居ません
    #58682
    cone
    閲覧者
    1

    みなさまありがとうございます・・・!

    新着記事に「NEW」と「カテゴリ名」がつくようになりました!!!

    いろいろなコーポレートサイト等にも応用できそうでありがたいです。

    助かりました!

    1
    いいねをした人: 居ません
9件の投稿を表示中 - 1 - 9件目 (全9件中)
  • トピック「最新記事一覧のブロックに「新着記事(NEW)」アイコンをつけたい」には新しい返信をつけることはできません。

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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