ショートコードを再帰的に呼び出そうとしています。アイデアは、ショートコード内でショートコードを使用することです。文字列を分解して他のロジックを試してみましたが、うまくいきませんでした。
助けてください。
以下に例を示します。
add_shortcode( 'first', function ( $attr ) {
return 'First ' . $attr['key1'] . ' ' . $attr['key2'];
} );
add_shortcode( 'second', function ( $attr ) {
return 'Second ' . $attr['key1'] . ' ' . $attr['key2'];
} );
add_shortcode( 'third', function ( $attr ) {
return 'Third ' . $attr['key1'];
} );
今、文字列が$string = '[first key1="[second key1="abcd" key2="shortcode"]" key2="[third key1="shortcode"]"]';
また$string = '[first key1="[second key1="abcd" key2="[third key1="shortcode"]"]" key2="[third key1="shortcode"]"]';
おそらく、最初の文字列の出力は次のようになります。'First Second abcd shortcode Third shortcode'
2 つ目は次のようになります。'First Second abcd Third shortcode Third shortcode'
しかし、私は結果を得ていません。文字列を受け取り、ショートコードを再帰的にチェックして実行する関数 (do_shortcode) を作成するのを誰かが手伝ってくれませんか。