我正在使用Wordpress中需要使用PHP呈现的插件之一,因为我想将其用作WPbakery中的短代码。
开发人员在自定义位置显示的说明是以下代码行:
<?php wccf_print_product_field(array('key' => ‘mykey’)); ?>
我试图在短代码功能中添加它,例如:
function newshortcode1() {
wccf_print_product_field(array('key' => ‘mykey’));
}
add_shortcode( 'newshortcode', 'newshortcode1' );
但是遗憾的是,无论我如何更改此代码,这都不起作用。
我正在使用[newshortcode]现场帖子进行显示。
有人建议我在这里做错了吗?
答案 0 :(得分:1)
您使用的是‘
(撇号)而不是'
(单引号)。
所以,从以下位置更新:
wccf_print_product_field(array('key' => ‘mykey‘));
收件人:
wccf_print_product_field(array('key' => 'mykey'));
答案 1 :(得分:0)
首先,一个简码函数需要返回所需的输出(它基本上替代了内容中的简码文本)。如果wccf_print_product_field返回了所需的输出,那么您可以
return wccf_print_product_field
但是,我强烈怀疑wccf_print_product_field在调用时直接打印或回显输出。因此,当wordpress对页面内容调用apply_filters而不是将其返回到短代码文本时,它将这样做。
因此,如果您真的必须在简码中使用它(如果没有其他函数仅返回乘积字段),那么您将必须捕获输出,以便可以在简码中返回它。像这样:
function newshortcode1() {
ob_start(); /* catch the output, so we can control where it appears in the text */
wccf_print_product_field(array('key' => ‘mykey’));
$output .= ob_get_clean();
return $output;
如果您现在在页面上使用简码查看源代码,我敢打赌,您会在页面的较早位置看到您的产品字段,而该字段不应在此位置出现。