如何设置If is_Single语句?

时间:2020-02-01 作者:Devon

我这里有这段代码,如果条件为false,我希望它将此div从解析中排除。

<?php if ( ! is_single() ) { ?>
    <div class="cat-container">
        <a class="post-cat bg-darkpurple" href="<?php echo $category_link ?>"><?php echo $category_name ?></a>
    </div>
<?php } ?>
然而,它并没有按预期工作。对于所有结果,它要么是真的,要么是假的,这取决于“如果”!是否包含。我觉得我错过了一些非常简单的事情。

基本上,如果div是一个页面,而不是一篇文章,我不希望它被发送到循环中(因为页面没有类别)

我试过了is\\u single,is\\u singluar,还有(\'post\'),都没有用。

感谢您提供的任何见解

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

is_single()is_singular() 此处使用的函数不正确。

您的评论提到,这将添加到search.php, 但是is_single()is_singular() 将始终为false onsearch.php, 因为这些函数正在检查当前页面是单个帖子还是页面,但是search.php 不是。这是一个包含多个结果的列表。is_single() 不是检查循环中的当前项,而是检查当前URL所表示的内容。

这就是为什么它显示为! is_single(), 因为is_single()false, 和! falsetrue.

如果需要确定循环中帖子的帖子类型,可以使用get_post_type():

<?php if ( \'post\' === get_post_type() ) { ?>
    <div class="cat-container">
        <a class="post-cat bg-darkpurple" href="<?php echo $category_link ?>"><?php echo $category_name ?></a>
    </div>
<?php } ?>

相关推荐

JQuery未调用php函数

我似乎无法让jquery在插件中调用php处理函数。请帮忙。TQ公司更新:我更新了代码。它现在正在工作。我的php文件// INIT function nizam_scripts() { wp_enqueue_script( \'nizam_ajax\', plugin_dir_url( __FILE__ ) . \'/nizam_plugin.js\', array( \'jquery\' ) ); wp_localize_script(\'nizam_ajax\