我需要把这个php变成可湿性粉剂的短码

时间:2016-07-28 作者:Brian Schnurr

我需要转换此代码:

<?php if ( function_exists( \'echo_ald_crp\' ) ) echo_ald_crp(); ?>
转换为短代码。有人能帮我做这个吗?我已经研究过了,但老实说,我只是迷失了方向。谢谢

2 个回复
SO网友:Jean-philippe Emond

初始化您的短代码

add_shortcode(\'shortcode_ald_crp\', \'myshortcode_echo_ald_crp\');
所需功能:

function myshortcode_echo_ald_crp() {
    ob_start(); 
    if ( function_exists( \'echo_ald_crp\' ) ) echo_ald_crp();
    return ob_get_clean();
}
您在这样的帖子中称自己为短代码:

[shortcode_ald_crp]
或输入php代码:

echo do_shortcode(\'[shortcode_ald_crp]\');

UPDATE

更改功能add_shortcode

shortcode_ald_crp 对于myshortcode_echo_ald_crp

SO网友:Christine Cooper

你的意思是这样的(未经测试):

// function for your shortcode
function shortcode_action($atts) {

        ob_start();
        if ( function_exists( \'echo_ald_crp\' ) ) echo_ald_crp();
        $content = ob_get_clean();
        return $content;
}

// creates shortcode [shortcodehandle] so change it accordingly
add_shortcode( \'shortcodehandle\', \'shortcode_action\' );
更新:使用ob_get_contents 返回的输出内容echo_ald_crp.

更新2:使用ob_get_clean() 正如@jgraup在评论中强调的那样。