将php逻辑函数放在wordpress简码中

时间:2019-02-06 17:56:03

标签: php wordpress

我有这段代码向有付费订阅的用户显示内容:

echo do_shortcode('[ihc-hide-content ihc_mb_who="5,7"] MY CONTENT HERE [/ihc-hide-content])

但是我想在此短代码中显示“我的内容在这里”,这是一个逻辑函数,如下所示:

if ( $a = $b ) {    echo ($c);    }

有可能以某种方式做到这一点吗? 附言我做了另一个简码,然后像这样把他放进去:

do_shortcode('[ihc-hide-content ihc_mb_who="5,7"].do_shortcode('[my_shortcode]').[/ihc-hide-content])

但是第一个简码不是隐藏第二个简码的内容。 我们将不胜感激,对于我的英语不好对不起!

1 个答案:

答案 0 :(得分:1)

如果您使用的是Enclosing Shortcode,则应该能够将简码作为字符串添加到do_shortcode()函数中。 do_shortcode()将搜索传递给它的内容,并解析出它能够提供的所有短代码。根据如何设置ihc-hide-content短代码,它 可能无法正常工作,但是您也可以解决该问题。

首先,我将尝试向其中传递一个短代码字符串:

do_shortcode( '[ihc-hide-content ihc_mb_who="5,7"][my_shortcode][/ihc-hide-content]' );

如果这不起作用(老实说,它应该)-您可以尝试将my_shortcode的输出生成为Output Buffer,如下所示:

// Turn on Output Buffering
ob_start();

// Output your shortcode
do_shortcode( '[my_shortcode]' );

// Turn off Output Buffering, and grab the content as a variable
$my_shortcode_output = ob_get_clean();

// Pass that complete output to the other shortcode
do_shortcode( '[ihc-hide-content ihc_mb_who="5,7"]'. $my_shortcode_output .'[/ihc-hide-content]' );