我正在使用wordpress。我正在使用插件social locker。
我已经了解了如何通过PHP显示短代码:
<?php echo do_shortcode(\'[sociallocker id="3071"] My content Here [/sociallocker]\'); ?>
然而,我想显示这个按钮,将允许打印弹出之间有。
此代码为:
<?php if ( function_exists( \'pdf_print_popup\' ) ) pdf_print_popup(); ?>
所以我的问题是我能做到这一点吗:
<?php echo do_shortcode(\'[sociallocker id="3071"] <?php if ( function_exists( \'pdf_print_popup\' ) ) pdf_print_popup(); ?> [/sociallocker]\'); ?>
如果没有,我需要做什么?我的目标是,一旦用户共享并看到打印按钮,社交锁就会消失。
谢谢各位:)
SO网友:Max
你很接近,但还不完全接近。
do_shortcode
expects a string 所以给它一个!
如果
function()
返回一个字符串,您可以
echo do_shortcode( \'[shortcode]\' . function() . \'[/shortcode]\' );
如果
function()
直接输出,可以使用输出缓冲捕获其输出
//start the buffer
ob_start();
function(); //i.e pdf_print_popup();
//store out output buffer
$string = ob_get_contents();
//clear the buffer and close it
ob_end_clean();
然后使用我们存储的字符串
echo do_shortcode( \'[shortcode]\' . $string . \'[/shortcode]\' );