テーマのデフォルトのブログテンプレートをコピーして、テーマのスタイルの1つのカテゴリからの投稿のみを表示するようにコードを変更できることを理解しています。私はそれをいじってみたが、まだ結果が得られなかった。これがテーマのコードです。
$posts = new WP_Query( array('post_type'=>'post', 'paged'=>$paged) );
if( $posts->have_posts() ):
echo '<div class="list-posts">';
while( $posts->have_posts() ) : $posts->the_post();
get_template_part( 'content', get_post_format() );
endwhile;
echo '</div>';
wp_reset_postdata();
else:
echo '<div class="alert alert-error">'.esc_html__('Sorry. There are no posts to display', 'gon').'</div>';
endif;
while( $posts->have_posts() ) : $posts->the_post();
の値を変更しようとしましたが成功しませんでした。
どうすればこれを機能させることができますか?
あなたのテーマがメインページループのための新しいクエリを作成しているなら、それは非常に悪いことをしています。カテゴリアーカイブを取得するために必要なのは、必要に応じて、 という名前のテンプレート に従うテンプレートだけです。
category-{slug}.php
- カテゴリのスラッグがnews
の場合、WordPressはcategory-news.php
を探します。category-{id}.php
- カテゴリのIDが6
の場合、WordPressはcategory-6.php
を探します。category.php
このようなループがあります。
if( have_posts() ) {
echo '<div class="list-posts">';
while( have_posts() ) {
$posts->the_post();
get_template_part( 'content', get_post_format() );
}
echo '</div>';
wp_reset_postdata();
} else {
echo '<div class="alert alert-error">'.esc_html__('Sorry. There are no posts to display', 'gon').'</div>';
}
もちろん、あなたのテーマがそれを取り巻くために必要とするどんなコードでも。私はそのコードがどのように見えるのか本当に推測できません。