テーマを例えば Twenty Sixteen(カスタマイズなし、ウィジェットのみ設定)にしてプラグインをすべて停止しても、全記事の一覧が表示されますか?
gblsm様
いつもお世話になります。回答ありがとうございます。
テーマを試しにTwenty Fourteenにしてみたらきちんと動きました!
(プラグインは停止にしても有効化のままでもどちらでも大丈夫でした)
ということは、カスタマイズが原因ということでしょうか?
ちなみに現状はTwenty Thirteenをカスタマイズして使っています。
ちなみに、サイドバーは
<?php dynamic_sidebar(); ?>
で取得しています。
他にどんなカスタマイズをしてありますか?(サイドバーの表示方法は影響していないと思います)
例えば archive.php や index.php のコード追加や変更、functions.php に書いた add_filter や add_action を経由して実行される追加の関数などです。
gblsm様
ご回答ありがとうございます。
function.phpは特に変更していません。
archive.phpは以下です。
<?php if ( in_category( array( '★' ) )) : ?>
<div class="col-sm-9">
<?php $randimg_posts = get_posts('category_name=★&numberposts=-1');
foreach( $randimg_posts as $post ) : ?>
<a href="<?php the_permalink() ?>"><?php /*echo get_the_post_thumbnail($post->ID, 'medium');*/ ?>
<?php echo get_the_date('Y.n.d'); ?>
<h3><?php if(mb_strlen($post->post_title)>14) { $title= mb_substr($post->post_title,0,14) ; echo $title. ・・・ ;
} else {echo $post->post_title;}?></h3>
<?php echo mb_substr(strip_tags($post-> post_content),0,32).'...'; ?>
</a>
<?php endforeach; ?>
<?php else: ?>
<?php endif; ?>
</div>
/* サイドバー */
<div class="col-sm-3">
<?php $randimg_posts = get_posts('category_name=★&numberposts=10');
global $post;
foreach( $randimg_posts as $post ) : ?>
<a href="<?php the_permalink() ?>">
<?php the_title(); ?></span></a><hr>
<?php endforeach; ?>
<?php dynamic_sidebar(); ?>
</div>
<?php get_footer(); ?>
archive.php は日付アーカイブを表示するときに使われるテンプレートです。それなのに、archive.php の中で get_posts を使って投稿を取得しなおして(つまり日付アーカイブを無視して)投稿を表示させているように見えます。それが原因だと思いますよ。
どの種類のアーカイブのときに、どのような表示内容にするのか、テーマ全体を整理してみれば、対策方法が見つかると思います。archive.php だけをどのように変更するか、という対処方法だと、また別のところに問題が生じるような気がします。
gblsm様
そうだったのですね…教えて頂いてありがとうございます。
そこを自分でもう1度調べてみて、また報告・質問させて頂きます。
原因が分かったのですごく助かりました。。ありがとうございました!
sasasa24さん、不正確な情報をお伝えしてしまいました。申し訳ありません。
すでにご覧になったかもしれませんが、正しくは下記のドキュメントを見てください。
テンプレート階層 – WordPress Codex 日本語版
アーカイブの種類ごとに優先されるテンプレートが異なります。
日付アーカイブ:
- date.php
- archive.php
- index.php
カテゴリーアーカイブ:
- category-{slug}.php – カテゴリーのスラッグが news ならば WordPress は category-news.php を探す。
- category-{id}.php – カテゴリー ID が 6 ならば WordPress は category-6.php を探す。
- category.php
- archive.php
- index.php
gblsm様
お世話になります。解決しましたのでご報告に来ました。
<?php
$randimg_posts = get_posts('category_name=AAA&numberposts=10');
global $post;
foreach( $randimg_posts as $post ) :
?>
としていた部分を
<?php
while ( have_posts() ) : the_post();
?>
に変えて単純にループさせることで正しく表示されるようになりました。
闇雲にget_postsで取得するのはよくないのだと反省しました。。
原因を教えて頂けて本当に助かりました!
ありがとうございました。