Wordpress自定义短代码 - >如果没有参数,则不显示

时间:2017-08-16 13:14:25

标签: php wordpress function shortcode

一个简单的wordpress短代码函数获取查询字符串键=>来自URL的值对,并将值输出到放置短代码的页面。我在短代码中设置参数以确定要调用的密钥,例如[urlparam param =" username"]。

不幸的是,如果没有查询字符串或查询字符串键不存在,则原始短代码显示在页面上而不是呈现任何结果或不显示任何结果。 我如何编辑短代码功能,以便在没有查询字符串或者查找的密钥不存在时不显示任何内容?

function urlparam_function( $atts ) {  
    extract( shortcode_atts( array(
        'param' => 'param',
    ), $atts ) );
    return $_GET[$param];
}
add_shortcode('urlparam', 'urlparam_function');

2 个答案:

答案 0 :(得分:1)

如果查询字符串键不为空,则返回查询字符串值。否则返回null

返回null会导致无法显示任何内容。

function urlparam_function( $atts ) {  
    extract(
        shortcode_atts(
            array(
                'param' => 'param',
            ),
            $atts
        )
    );
    return !empty($_GET[$param]) ? $_GET[$param] : null
}
add_shortcode('urlparam', 'urlparam_function');

答案 1 :(得分:0)

删除$_GET仅使用$param,如下所示:

function urlparam_function( $atts ) {  
    extract( shortcode_atts( array(
        'param' => 'param',
    ), $atts ) );
    return $param;
}
add_shortcode('urlparam', 'urlparam_function');