Visual Composer:自定义短代码不起作用

Visual Composer: Custom Shortcode Not Working

以下是我在functions.php中创建的简码:

function echo_first_name() {
    echo $_GET['first_name'];
}
add_shortcode( 'first_name', 'echo_first_name' );

我正在我的 Visual Composer 编辑器中输入以下内容:

['first_name']

这不会产生任何结果,即使使用 Visual Composer 短代码映射器也是如此。

有人知道为什么这不起作用吗?我是否必须将其注册为另一种类型的简码,以便 Visual Composer 能够访问它?

您在短代码函数中传递了一个 $_GET['firstname'],这是您在 URL 中传递它的地方或从任何其他地方传递的。请检查它是否来了。 或者,如果您想测试您的简码是否有效,请使用下面的代码,它会起作用。

function echo_first_name() {
    return 'testing the shortcode';
}

add_shortcode( 'first_name', 'echo_first_name' );

For Create Short code

如果您想在编辑器中添加短代码,则使用 return 而不是 echo

function echo_first_name() {
    return $_GET['first_name'];
}
add_shortcode( 'first_name', 'echo_first_name' );

Used Short Code Like

[first_name] 
If you want to pass the value In shortcode
function echo_first_name( $atts ) {
    $a = shortcode_atts( array(
        'firstname' => '',
    ), $atts );

    return "First Name= {$a['firstname']}";
}
add_shortcode( 'first_name', 'echo_first_name' );

Used Short Code Like

[first_name firstname="test"]

使用return代替echo

function echo_first_name(){
return $_GET['first_name'];
}
add_shortcode( 'first_name', 'echo_first_name' );