アーカイブページに複数の記事を固定表示したい。

0
いいねをした人: 居ません
5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • #95597
    徳本 奈穂子
    参加者
    23

    【お使いの Snow Monkey のバージョン】15.16.0
    【お使いの Snow Monkey Blocks のバージョン】13.4.0
    【お使いの Snow Monkey Editor のバージョン】6.2.1
    【お使いのブラウザ】Chrome
    【当該サイトのURL】

    ### 実現したいこと

    「ニュース」カテゴリーのアーカイブページで、固定表示したい記事が複数ある。

    ### 発生している問題

    ### 試したこと

    snow_monkey_prepend_archive_entry_content を使ってfeatureタグのついた記事を先に表示して、その後に全件表示するという次善の策を取ろうと考えました。

    add_action(
    	'snow_monkey_prepend_archive_entry_content',
    	function() {
    		$posts = get_posts( array(
    			'posts_per_page' => -1,
    			'category_name' => 'news',
    			'tag' => 'feature'
    		));
    		if( $posts ):
    		?>
    			<h2>Feature</h2>
    			<ul class="feature_list">
    				<?php
    				foreach( $posts as $post ):
    					setup_postdata( $post );
    				?>
    					<li>
    						(省略)
    					</li>
    				<?php
    					endforeach;
    				?>
    			</ul>
    		<?php endif;
    			wp_reset_postdata();
    	}
    );
    

    →最初の記事だけが複数表示される。

    ループの書き方が間違っているのかフックの使い方を間違っているのか・・・だと思うのですが解決できず・・・ご教授いただけますと助かりますm(_ _)m

    (他に簡単に要望に応えられる方法がありましたらそちらを教えていただけるとさらに助かりますm(_ _)m

    0
    いいねをした人: 居ません
    #95601
    まーちゅう
    参加者
    356

    カテゴリーとタグなので、tax_query を使用して 'relation' => 'AND' にするのが良さそうです。

    1
    いいねをした人:
    #95652
    徳本 奈穂子
    参加者
    23

    まーちゅう様
    コメントありがとうございますm(_ _)m
    tax_queryを試してみたのですが、やはり最初の1件が複数表示されてしまいます。
    (該当する記事数が3つであれば最初の投稿が3回表示される)

    何か他にヒントありますでしょうか・・・?m(_ _)m

    0
    いいねをした人: 居ません
    #95668
    まーちゅう
    参加者
    356

    ちょっと試してみたんですが、get_posts だと、うまくいかないみたいですね。
    WP_Query を使用して以下のコードで表示できたので共有しておきます。

    <?php
    add_action(
    	'snow_monkey_prepend_archive_entry_content',
    	function() {
    		$args = array(
    				'posts_per_page' => -1,
    				'category_name'  => 'news',
    				'tag'            => 'feature',
    		);
    		$the_query = new WP_Query( $args );
    		if ( $the_query->have_posts() ) {
    		?>
    			<h2>Feature</h2>
    			<ul class="feature_list">
    			<!-- the loop -->
    			<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
    				<li>
    					<?php the_title( '<h3>', '</h3>' ); ?>
    					<?php the_excerpt(  ); ?>
    				</li>
    			<?php endwhile; ?>
    			<!-- end of the loop -->
    			</ul>
    			<?php
    			wp_reset_postdata();
    		}
    	}
    );
    3
    いいねをした人:
    #95674
    徳本 奈穂子
    参加者
    23

    まーちゅう様

    わざわざありがとうございます!!
    うまく行きました!
    Snow Monkey関係なかったみたいですみません。助かりました!!

    閉じさせていただきます。

    0
    いいねをした人: 居ません
5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • トピック「アーカイブページに複数の記事を固定表示したい。」には新しい返信をつけることはできません。

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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