将php放入回显php短码中

时间:2014-03-16 作者:JediTricks007

我正在使用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]\'); ?>

如果没有,我需要做什么?我的目标是,一旦用户共享并看到打印按钮,社交锁就会消失。

谢谢各位:)

1 个回复
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]\' );

结束

相关推荐

由于函数原因,“无法重新声明CPT_REG_TAX()”。php

背景:我有一个Wordpress主题的childtheme文件夹,其中包含一个函数。php。在此函数中。php,在一开始,我编写了设置自定义帖子类型的代码,允许用户向站点添加事件。直到今天,一切都很顺利,我在同一个文件中添加了另一个单独的自定义帖子类型的代码,允许用户添加人。问题:在添加了第二个自定义帖子类型代码后,我无法再登录到我的网站。问题原因:通过我的域提供商的错误日志文件,我发现将“place”注册为类别的代码导致了问题。我试图通过add_action(\'init\', \'cpt_reg_ta