我可以有一个特定的产品模板,即使它们是标准帖子而不是CPT吗?

时间:2014-04-09 作者:user2585051

我正在尝试为客户机操作一个插件(插件作者没有响应),我想知道是否/如何去做。

这是一个电子商务插件,但不会创建自定义帖子类型。客户想要的是在主产品页面上列出的产品链接到单个产品的完整信息(即single product.php)。

我的第一个想法是使用

$productid = $p->id;
echo get_permalink( $productid );
当然,这只是指向具有相同ID的帖子页面的链接。

因为产品不是定制的贴子类型,所以贴子ID 1和产品ID 1没有区别。

如果某个产品的页面不是自定义的帖子类型,是否有办法链接到该页面,或者如何创建单个产品页面?

1 个回复
SO网友:fuxia

滤器template_include, 检查当前帖子是否为产品并加载产品模板。

示例:

add_filter( \'template_include\', function( $template ) {

    if ( ! is_singular() or ! get_post_meta( get_the_ID(), \'price\', true ) )
        return $template;

    return locate_template( \'product-single.php\' );
});
如何准确地确定帖子是否是产品取决于您的实现。

结束

相关推荐

是否可以基于meta_Query过滤器在Single.php中加载不同的侧边栏?

我有一个自定义的帖子类型“演讲者”,我有一个复选框自定义字段(meta\\u查询),用于将我的会议演讲者与我的研讨会演讲者分开。我可以用这个meta\\u查询过滤我的演讲者,一切正常。但是,如何根据会议或研讨会发言人meta\\u查询使用不同的侧栏?当我单击扬声器查看其详细信息时(无论是会议还是研讨会扬声器),详细信息页面将加载我的单个扬声器。php和在我的单个扬声器中获取侧栏的代码。php是:<?php get_sidebar(); ?> 如何指定不同的侧栏,例如get\\u侧栏(