Conditional tags don't work

时间:2016-11-07 作者:Stefano

我试图在存档中显示不同的模板。php页面。我需要根据自定义帖子类型加载不同的文章显示。这是我的代码:

<?php if(is_singular(\'libri\')) :?>

<?php 
// WP_Query arguments
$args = array (
    \'post_type\'              => \'libri\',
);

// The Query
$query = new WP_Query( $args );

// The Loop
if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
        the_title();
    }
} else {
    // no posts found
}

// Restore original Post Data
wp_reset_postdata(); ?>

<?php else : ?>


<?php endif; ?>


<?php get_footer();?>
无论如何,页面不会显示任何内容。我怎样才能解决这个问题?

谢谢

2 个回复
最合适的回答,由SO网友:czerspalace 整理而成

is_singular 将在存档页上返回false。如果您想检查您是否在帖子类型的存档中,您可以使用is_post_type_archive( \'libri\' ) , 或者您可以创建archive-{post_type}.php 文件,在本案中archive-libri.php

参考文献:https://codex.wordpress.org/Post_Type_Templates https://codex.wordpress.org/Conditional_Tags#A_Single_Post_Page

SO网友:wscourge

您使用is_singular() 再也回不来了true 在存档页上,作为@Tom J Nowell 在评论中指出。那么你需要做什么query 执行就是删除那个条件。

相关推荐