如果标签中没有帖子,则显示消息

时间:2015-06-08 作者:Brendan

我正在尝试修改存档。php文件,用于在没有帖子时显示消息。我想知道这样做的代码是什么。以下是我的工作内容:

<?php
/*
Template Name: Archives
*/
get_header(); ?>

<div id="container">
<div id="content" role="main">

    <?php the_post(); ?>
    <h1 class="entry-title"><?php the_title(); ?></h1>

    <?php get_search_form(); ?>

    <h2>Archives by Month:</h2>
    <ul>
        <?php wp_get_archives(\'type=monthly\'); ?>
    </ul>

    <h2>Archives by Subject:</h2>
    <ul>
         <?php wp_list_categories(); ?>
    </ul>

</div><!-- #content -->
</div><!-- #container -->

<?php get_sidebar(); ?>
<?php get_footer(); ?>

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

好吧,似乎您正在使用循环函数,但您没有循环。因此,我修改了您的代码以包含循环,因为它是我的特定解决方案的组成部分。

<?php
/*
Template Name: Archives
*/
get_header(); ?>

<div id="container">
<div id="content" role="main">

    <?php if(have_posts()) : while(have_posts()) : ?>
        <?php the_post(); ?>
        <h1 class="entry-title"><?php the_title(); ?></h1>

        <?php get_search_form(); ?>

        <h2>Archives by Month:</h2>
        <ul>
            <?php wp_get_archives(\'type=monthly\'); ?>
        </ul>

        <h2>Archives by Subject:</h2>
        <ul>
            <?php wp_list_categories(); ?>
        </ul>

    <?php endwhile; ?>
    <?php else : ?>
        <!-- Display "Posts not found" message here -->
    <?php endif; ?>

    </div><!-- #content -->
    </div><!-- #container -->

    <?php get_sidebar(); ?>
    <?php get_footer(); ?>
因此,基本上您是使用have\\u posts()检查当前查询中是否存在任何帖子。如果have\\u posts()返回true,则循环开始并显示每个post。如果返回false,则表示此特定查询未找到帖子。希望这有帮助。

结束

相关推荐