将属性动态传递给短码

时间:2015-11-24 作者:bela

我可以像下面的示例所示那样动态地传递到短代码属性吗

[ authoorsposts  author = get_the_author_id(); ]

2 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

不是这样,但如果在短代码中使用预定义的值或参数作为“标志”,则可以获得相同的结果:

[authoorsposts author="post"]
。。。然后在处理程序中:

function wpse_209684_author( $atts ) {
    if ( ! empty( $atts[\'author\'] ) ) {
        $author = $atts[\'author\'];

        if ( $author === \'post\' ) // Our flag, make $author the current post author
            $author = get_the_author_id();
        else // Otherwise just accept a hardcoded author ID
            $author = absint( $author );
    }
}

SO网友:Hans Spieß

您可以访问shortcode 功能:

$author = get_the_author();
//  access ID of author object like $author->ID
由于内容中添加了短代码,因此Php代码将被转义,并且不会执行。

相关推荐

redirect if shortcode exists

WordPress初学者。我试图检查用户请求的页面中是否存在短代码,如果存在,则在用户未登录时重定向。function redirect_to_home() { if (has_shortcode(get_the_content(), \'shortcode\')) { if(!is_admin() && !is_user_logged_in()) { //redirect exit(); }