标识在循环中显示的页面

时间:2013-05-15 作者:David Gard

在我的循环中,我试图设置它,以便在没有帖子显示的情况下,在某些页面上显示某些文本。

我想这很简单,使用is_post(), 但当您处于循环中时,此函数似乎不起作用。

有人知道我如何在循环中识别当前显示的页面吗?

以下代码来自loop.php - 这是我如何构造代码的,因为在本例中内容并不重要。然而,对于那些感兴趣的人,这里是我的全部page.phploop.php 代码-http://pastebin.com/hDjR6C7A.

<?php if(have_posts()) : while(have_posts()) : the_post(); ?>

        <!-- Do stuff here -->

    <?php endwhile; ?>

<?php else : ?>

    <?php if(is_page(162)) : // Careers ?>

        <!-- Do stuff here -->

    <?php if(is_page(716)) : // Partnerships ?>

        <!-- Do stuff here -->

    <?php elseif(is_search()) : ?>

        <!-- Do stuff here -->

    <?php endif; ?>

<?php endif; ?>

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

我相信你想要get_queried_object. 这将返回关于页面本身的信息,而不一定是关于循环中显示的帖子/页面的信息。

请注意,它会返回非常不同的信息,这取决于您所属的页面类型。例如,它将返回作者档案中的用户信息,但会返回类别档案中的类别信息,有时还会返回NULL.

相关的

https://wordpress.stackexchange.com/a/98138/21376

SO网友:Subharanjan

尝试is_single( $page_id ) 相反基本上is\\u post()已被弃用。

http://codex.wordpress.org/Function_Reference/is_single

结束

相关推荐

Noob Loop Question

我带来了一个基本问题,但我无法解决,我想这对你来说很容易。我想,如果我有2个或更多的帖子循环,显示整个循环。我尝试了以下方法:<?php $paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1; $portfolio = new WP_Query(array(\'post_type\' => \'project\', \'posts_per_page\' => 12, \'paged\' =&g