0

URL からパラメーターを取得し、さらに処理を行うショートコードがあります。同じ種類の URL パラメータ処理が必要な別のショートコードがあります。URL パラメータ処理コードを両方の関数と共有したいと思います。それはショートコードでどのように行われますか?

これは疑似例のようですが、完全ではありません: http://www.sitepoint.com/wordpress-nested-shortcodes/。彼は、ページ内でネストされたショートコード構文を実行しているようです。ショートコード構文を使用してページでネストを行う利点はあまりないため、PHP でネストを維持したいと思います。

4

1 に答える 1

3

別のショートコードの PHP 内から、あるショートコードの PHP コードを呼び出すことができます。

たとえば、ショートコードに渡された URL を取得し、そのショートコードに固有の必要な処理を行い、必要に応じて他のショートコードの背後にある関数を呼び出したり使用したりします。

ショートコード PHP の機能は、functions.php ファイルなどの他の関数と同様に、他のすべての PHP コード (他のショートコードを含む) で利用できます。

WP ショートコード API の関数を介して PHP 内からショートコードのネストをシミュレーdo_shortcode()し、単純に「コンテンツ」を渡すことができます"[yourshortcode your_attr='your value' ... ]some content[/yourshortcode]"。このようにして、ショートコードが実際にコンテンツに含まれていた場合と同じ方法で実行されていることを確認できます。

または、1 つのショートコードの特定の関数が両方で使用されている場合、それらの関数を共有ファイル (functions.php など) に配置する必要がありますか?

しかし、ショートコードが両方とも同じプラグインまたはテーマの一部ではない場合、is_plugin_active()依存するショートコードが依存関係の不在を適切に処理できるように、どちらがコードを記述できるかを確認することもできます。

ただし、これは実際には「ショートコードのネスト」ではないことに注意してください。少なくとも、WP codex で定義されているように、here . あなたがリンクした例は、です。

于 2013-03-27T14:44:24.677 に答える