is_archive () el contenido se muestra en lugar de is_category ()

2

Mi problema:

Si navego a http://mysite/category/mycategory , no se muestra el contenido de if (is_category()) , en su lugar se muestra el if(is_archive()) .

Mi código:

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(); ?>

Lo que intenté:

Creó un archivo category.php con el contenido: <?php include('includes/resultlist.php')?> pero el problema persiste. Incluí un texto de basura en el final de category.php y se muestra en el final de la página renderizada, así que supongo que se llamará al archivo.

Mi entorno:

LAMP Ubuntu 64 bit con apache, mysql y php instalado con las opciones predeterminadas a través de apt-get.

    
pregunta That Brazilian Guy 16.08.2013 - 19:05

1 respuesta

5

Una página de categoría es una página de archivo . Entonces, is_archive() hará return true en una página de categoría. Intente presionar is_category() aún más, o use is_category() antes de is_archive() .

Me gusta esto

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
}
    
respondido por el Sisir 16.08.2013 - 19:31

Lea otras preguntas en las etiquetas