こんにちは。
テーマファイルに関する質問なら、今現在のコードを書いてもらえると
解答する方が分かりやすいですよ。
とはいえ、、デフォルトテーマTwenty Elevenのarchive.phpが参考になります。
archive-hakkutsu.php 内で if ( have_posts() )とかを以下のようにしてみてはどうでしょ。
<?php
if ( have_posts() ) : // 投稿がある場合の処理
/* Start the Loop */
while ( have_posts() ) : the_post();
/* 記事タイトルとか各投稿へのリンクとか */
endwhile;
/* この辺にページ送りのナビゲーションとか */
else : // 投稿がない場合の処理
/* マークアップはお好みで */
echo "現在、情報はありません";
endif;
?>
>gatespace様
早速のご回答、ありがとうございます!
コードを書いていなかったにも関わらずお答えいただきありがとうございますm(_ _)m
Twenty Elevenを元に、テンプレートをカスタマイズしています。
(しかし、全てコードを入れ替えて使っています^^;)
お恥ずかしながらphpも全くの初心者でして…^^;
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
/*ループさせたい内容*/
<?php endwhile; ?>
<?php else : ?>
<?php echo "現在投稿はありません"; ?>
<?php endif; ?>
上記のコードで、カスタム投稿が1件以上ある場合、
アーカイブ表示は出来たのですが、
やはりアーカイブが0件の場合(カスタム投稿が全くない場合)には
[現在投稿はありません]が表示されるのではなく、404へ飛んでしまいます^^;
何故でしょう……
まずは、テーマをTwenty Elevenに戻して確認してみてください。
そしてカスタム投稿のアーカイブを表示してみてください。
(http://example.com/?post_type=hakkutsu)
このときTwenty Elevenはarchive.phpを利用して表示します。(私の方で確認済みです)
なお、実際にどのテンプレートファイルで表示されているかは、
header.php にでも 以下のコードを加えることで確認できます。
global $template;
echo '<code>'.$template."</code>";
ここまで問題が無いのであれば、
カスタマイズされているテーマの問題となります。
Twenty Elevenを元にされていると言うことなので、
カスタマイズしたテーマとTwenty Elevenで違う部分をすべてチェックしてみてください。