web-dev-qa-db-ja.com

Functions.phpファイル内の入れ子になったshortCode関数

ショートコード関数(newStuff)を別の関数(oldStuff)内に表示しようとしていますが、問題が発生しています。両方のshortCode関数と私が試したものが以下にリストされています。 「newStuff」関数が「oldStuff」関数の中に表示されるのを手伝ってもらえますか。

ありがとうございます。

現在の機能

function newStuff(){
return '
only raw html is in this function
';
}
add_shortcode('new', 'newStuff');

function oldStuff(){
return '
only raw html is in this function
';
}
add_shortcode('old', 'oldStuff');

短いコードを含めてみましたが、うまくいきませんでした

function oldStuff(){
return '
[new]
only raw html is in this function
';
}
add_shortcode('old', 'oldStuff');

関数を含めてみましたが、うまくいきませんでした

function oldStuff(){
return '
echo newStuff();
only raw html is in this function
';
}
add_shortcode('old', 'oldStuff');
1
Mr. B

あなたが返す両方の文字列で do_shortcode() 関数を使うべきです。

function oldStuff(){
    return do_shortcode('
        [new]
        only raw html is in this function
    ');
}
add_shortcode('old', 'oldStuff');
6
M-R