当链接不存在时,如何告诉WordPress该做什么?(404错误页)

时间:2017-06-07 作者:The WP Intermediate

如果单击中不存在的任何链接my main site 例如,站点this link, 我希望WordPress使用默认值index.php 包含此循环的文件:

<div class="main col <?php post_class(); ?>">
        <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
                <?php $post_id = get_the_ID(); ?>
        <?php get_template_part(\'content\',get_post_format()); ?>
    </div>
    <div class="main col">
        <?php comments_template(); ?>
    </div>
        <?php endwhile; ?>
        <?php else: ?>
    <div class="main col">
        <?php get_template_part(\'content\', \'none\'); ?>
    </div>
        <?php endif; ?>
所以我希望WordPress加载content-none.php 文件,但它没有。

这是什么意思?当不存在真正的链接/页面时,我是否缺少执行此操作所需的任何逻辑?

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

用于输出的条件get_template_part(\'content\', \'none\'); 仅当主循环中没有帖子时才会触发,例如,当类别中没有帖子时:

if (have_posts()){
    while(have_posts()) {
        the_post();
        // If the category has a post and we are on a category page, then show the posts
        get_template_part(\'content\', \'archive\');
    }
} else {
    //If the category has no posts, display a message that no post exists
    get_template_part(\'content\', \'none\');
}
但这只发生在你访问www.example.com/category/some-cat/, 以及/some-cat/ 实际上是一个现有的类别slug。如果尝试访问不存在的页面,则404.php 将改用模板。

结束

相关推荐

Post Templates and Post ID's

我正在尝试为单个帖子使用单个模板(我有一个自定义模板)。但由于某种原因,我的帖子被覆盖,而不是显示新数据。这是我现在的设置<div class=\"details\"> <?php global $post; $category_id=get_the_category($post->ID); $announcements = new WP_Query(); $announcements->query(\'showposts=1&a