ショートコード:
[permalink][title][/permalink]
出力:
<a href="foobar">[title]</a>
WordpressのショートコードAPIが正しい、それは正しいです:
http://codex.wordpress.org/Shortcode_API#Nested_Shortcodes
何か案は?
リンクしたページから:
ショートコードパーサは、それらのハンドラ関数がdo_shortcode()を再帰的に呼び出すことによってそれをサポートするならば、入れ子になったショートコードマクロを正しく取り扱います:
ネストされたショートコードを含む可能性があるショートコードハンドラでは、do_shortcode()
を再帰的に呼び出す必要があります。だから、例えば:
function wpse18659_permalink( $atts, $content ){
return '<a href="' . get_permalink() . '" title="Permalink to ' . get_the_title() . '" alt="">' . do_shortcode( $content ) . '</a>';
}
add_shortcode( 'permalink', 'wpse18659_permalink' );
これはネストされたショートコードをうまく処理するはずです。