我使用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] INSITE后进行显示。
任何建议我在做什么错在这里?
您正在使用‘
(单引号),而不是'
(单引号)。
所以,从更新:
wccf_print_product_field(array('key' => ‘mykey‘));
至:
wccf_print_product_field(array('key' => 'mykey'));
首先一个短码函数需要返回所希望的输出(它实质上取代了内容简码文本)。 IF 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;
如果您在页面上查看源代码与简码,因为它是现在,我敢打赌,你的页面,它不应该是,在一开始可能是正确的地方更早看到你的产品领域。