http://mysite/category/mycategory
を参照すると、if (is_category())
のコンテンツが表示されず、代わりにif(is_archive())
が表示されます。
archive.php
:
<?php include('includes/resultlist.php')?>
search.php
:
<?php include('includes/resultlist.php')?>
includes/resultlist.php
:
<?php get_header(); ?>
<div class="main">
<?php if (is_archive()) { ?>
<h1>Artigos publicados em <?php single_month_title(' '); ?></h1>
<?php } else if (is_search()) { ?>
<h1>Resultados para "<?php the_search_query(); ?>"</h1>
<?php } else if (is_category()) { ?>
<h1>Resultados para categoria "<?php the_category(); ?>"</h1>
<?php }
if ( have_posts() ) while (have_posts()) { the_post(); ?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
por <span class="date"><?php the_author(); ?></span> em
<span class="date"><?php the_date(); ?></span>
<p><?php echo get_the_excerpt(); ?> <a href="<?php the_permalink(); ?>">Leia mais</a></p>
<?php }
else {?>
<h2>Nada encontrado</h2>
<p>Desculpe, não encontramos o que você procurava!</p>
<?php }
include('pagination.php');
?>
</div><!-- /main -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
<?php include('includes/resultlist.php')?>
という内容のcategory.php
ファイルを作成しましたが、問題は解決しません。 category.phpの最後にガベージテキストを含めて、レンダリングされたページの最後に表示されるので、ファイルが呼び出されていると思います。
Apache、mysql、phpがインストールされたLAMP Ubuntu 64ビットをapt-get経由でデフォルトのオプションでインストール。
カテゴリページはアーカイブページです 。したがって、is_archive()
はカテゴリページでreturn true
になります。さらにis_category()
をプッシュダウンするか、is_category()
の前にis_archive()
を使用してください。
こんな感じ
if ( is_search() )
{
// Search Result content
}
elseif( is_category() )
{
// Category archive content
}
// check for tag, taxonomy, date before
elseif ( is_archive() )
{
// Default archive content for *every* type of archive
}
else
{
// Default content for non-archives
}