检查帖子是否有特定的帖子类型

时间:2014-11-06 作者:at least three characters

我为帖子创建了一个名为“公文包”的自定义帖子类型。导航到帖子时,URL显示为www.mysite/?portfolio=some-post-title

在页脚中。php我只想在帖子类型为“portfolio”时显示一些东西。这怎么可能?

我还尝试了不同的选择http://codex.wordpress.org/Conditional_Tags 无济于事。

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

首先,检查语法,确保所有比较运算符、转义符和引号都是正确的,并且语句是基于the examples 在法典中给出。w3schools\' PHP Tutorial 这是一个很好的起点。此外,如果您的问题提供了您尝试使用的代码和条件标记,那么允许其他人提供特定的答案将是有益的。

Possible Solutions:

将以下内容添加到footer.php 将在“portfolio”帖子类型中的单个帖子上显示特定的HTML内容。

<?php if ( is_singular( \'portfolio\' ) ) { ?>
    <!-- If this is a single "portfolio" post, do something cool here -->
<?php } ?>
包括您的“公文包”归档页面以及单个帖子的变体是:

<?php if ( is_singular( \'portfolio\' ) || is_post_type_archive( \'portfolio\' ) ) { ?>

If the code above does not work:

验证您的条件语句是否正在检查正确的post类型名称,而不是分类法或术语(如果名称相似,则很容易混淆)。还要记住,根据CPT及其对象的设置方式(特别是url重写参数),url slug不一定与post类型名称匹配。

您可以通过回显"get_post_type" 功能:

<?php echo \'The post type is: \' . get_post_type( get_the_ID() ); ?>

SO网友:at least three characters

我找到了一个检查的好方法is_singular( \'portfolio\' )

SO网友:Kyle

要获取帖子类型,我将使用以下内容:

global $post;

get_post_type( $post );
这将返回任何帖子的帖子类型。

结束

相关推荐