在帖子内容中,快捷码起作用了,但在同一页面模板中硬编码就不行了吗?

时间:2019-10-28 作者:Jussi

所以我有一个超级简单的Woocommerce短代码[product\\u categories],它应该显示商店中的产品类别。

如果我把它放在这样一个页面的内容中:[product\\u categories],这项工作会做得很好。

然而,如果我直接将相同的内容放入模板中,它会突然返回当前类别的第一篇帖子?什么

因此,在我的模板中,只有这两行:

<?php echo do_shortcode(\'[product categories]\'); // this returns a single product which is wrong and totally weird ?>
<?php the_content(); // this returns the categories as intended ?>
我从来不知道这两种方法有什么不同。如何使快捷码与echo方式一起工作?

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

我在[产品类别]中缺少下划线。

<?php echo do_shortcode(\'[product_categories]\'); ?>
上面带“\\”的代码返回正确答案。

相关推荐

如何从派生的进程中使用STRING_SHORTCODES()?

我有一个插件,它生成一个进程来执行打印功能。要打印的项目(在本例中为Woocommerce产品)通过URL传递(通过product_id). 在进行打印之前,必须从产品描述中删除所有注册的短代码。如果我打电话strip_shortcodes() 它什么都不做。我猜注册的短代码数组超出了范围?是否有人能提出一种有效的方法,使流程能够使用strip_shortcodes()?