私は、既存のプラグインの動作を拡張するwordpressプラグインを作成しています。既存のショートコードを新しいものでラップする
既存のプラグインは[original]
という名前のショートコードを定義していますが、いくつかの機能を追加するショートコードが[wrapper]
ですが、基本的に同じ動作をします。
これは私が書いたコードです:
function wrapper_shortcode($atts,$content)
{
//Do something...
return do_shortcode("[original]$content[/original]");
}
add_shortcode('wrapper', 'wrapper_shortcode');
私の質問は、どのように私は[original]
ショート隣の属性($atts
)を通過しないされ、コールするよりも、これを行うには良い方法があるがdo_shortcode()
機能?
オリジナルのショートコードを修正し、出力が '' do_shortcode'''関数でラップされていることを確認してから、元のショートコードにいくつかのフィルタまたはフックがある場合は最高です – silver
原点を変更する元のプラグインが更新されたときにプラグインコードの変更が無効になるので、ショートコードはオプションではありません。 –
元のショートコードを '' remove shortcode'''で削除し、同じショートコードタグを使用していますが、別の関数を実行していますが、元の関数が変更されたらカスタム関数を更新する必要があります。それでも動作しない場合は、regexを使用して元のshortcodeを探し、あなたの関数内でいくつかの修正を加えて実行してください。それは難しいことではありませんが、私は正規表現が良くないので、例を挙げることはできません。 – silver