web-dev-qa-db-ja.com

ショートコードに動的に属性を渡る

次の例に示すように、ショートコード属性に動的に渡すことができますか

[ authoorsposts  author = get_the_author_id(); ]
2
bela

そうではありませんが、ショートコードで事前定義された値または引数を使用して「フラグ」として機能しても同じ結果が得られます。

[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 );
    }
}
2
TheDeadMedic

shortcode 関数の中のauthorオブジェクトにアクセスできます。

$author = get_the_author();
//  access ID of author object like $author->ID

ショートコードがコンテンツに追加されているので、あなたのPhpコードはエスケープされ、実行されません。

0
Hans Spieß