如果找不到帖子,如何将我的自定义模板页面重定向到Content-nere.php?

时间:2020-01-10 作者:Farhan Ali

我正在尝试从自定义模板文件重定向到模板零件/内容无。php,如果我的模板中没有帖子。我想在while循环检查帖子之后添加if条件。这是我的模板代码

        <?php 
            $args = array(\'post_type\' => \'post\', \'posts_per_page\' => -1 );
            $the_query = new WP_Query($args);
            while ($the_query -> have_posts()): $the_query -> the_post();
        ?>
         The posts styling goes here
        <?php endwhile;?>

       content i want to show if no posts found

1 个回复
最合适的回答,由SO网友:Tony Djukic 整理而成

Farhan,这个应该可以,加一个elseif 声明:

$args = [
    \'post_type\' => \'post\',
    \'posts_per_page\' => 1000
];
$q = new WP_Query($args);
if ( $q->have_posts() ) {
    while ( $q->have_posts() ) {
        $q->the_post();
        ?>
        <p>The posts styling goes here</p>
        <?php
    }
    // cleanup after the query
    wp_reset_postdata();
} else {
    ?>
    <p>Content I want to show if no posts found.</p>
    <?php
    // You could load a sub-template/partial here, e.g.:
    // get_template_part( \'content\', \'none\' );
    // it won\'t replace the entire template though
}

相关推荐

Updating modified templates

我想调整一些。php模板文件在我的WordPress主题中,我知道正确的过程是将相关文件复制到子主题文件夹中并在那里编辑文件,这样我的修改就不会在将来的主题更新中丢失。但这是否意味着我将无法从主题更新中获益,因为我将文件放在了我的子主题文件夹中?这可能不是一件好事,因为主题更新可能添加了一些有用的特性,甚至修复了我最初需要对代码进行调整的问题!这方面的常见解决方案是什么?有人推荐了一款Diff应用程序——这是人们常用的吗?