Wordpress 条件 if is_single

Posted

技术标签:

【中文标题】Wordpress 条件 if is_single【英文标题】:Wordpress Conditional if is_single 【发布时间】:2014-01-29 10:35:05 【问题描述】:

我试图在我的 single.php 页面上使用条件语句。

我想要做的是,如果是自定义帖子类型 current-products,则使用特定的单个 -product.php 模板页面,如果不是(即标准博客文章),则使用默认的 single.php 页面。

我认为我使用了正确的语句,但不知道之后该怎么做(获取要使用的模板):

if ( is_single( 'current-products' == get_post_type() )     
    // If the post type is "Current Products" use this template...
    // Please help me out on this bit

 elseif ( is_single() ) 
    // If not, use the standard one...
    // please help me out on this bit

我认为这是对的......?

【问题讨论】:

【参考方案1】:

你可以使用is_singular()函数,根据WordPress文档:Ref Link

此条件标记检查是否正在显示单个帖子,即当以下之一返回 true 时:is_single()、is_page() 或 is_attachment()。如果指定了 $post_types 参数,该函数将另外检查查询是否针对指定的帖子类型之一。

在查看自定义帖子类型书的帖子时为真。

is_singular('book');

这将完成你的任务。

【讨论】:

【参考方案2】:

WordPress 自动为不同的帖子类型使用不同的模板页面,如果您的帖子类型称为产品,则文件应命名为 single-products.php。你可以从那里阅读更多关于它的信息Codex

以同样的方式,可以分别使用 single.php 和 archive.php 模板文件显示单个帖子及其存档,

自定义帖子类型的单个帖子将使用 single-post_type.php 他们的档案将使用archive-post_type.php

其中 post_type 是 register_post_type() 函数的 $post_type 参数。

【讨论】:

完美,我以为是这样!【参考方案3】:

我相信如果你想使用帖子试试这个:

is_singular('post');

谢谢

【讨论】:

以上是关于Wordpress 条件 if is_single的主要内容,如果未能解决你的问题,请参考以下文章

如何:Wordpress的Breadcrumb函数

WordPress美化百度分享默认图标

在单个页面上突出显示当前Wordpress类别';wp#u list';

将自定义JavaScript从帖子添加到

如何在jquery中编写if else if语句,其中条件由wordpress选项设置设置

Wordpress 类别 if 条件不起作用