web-dev-qa-db-ja.com

ショートコードが処理されるようにページ上のファイルからテキストをインクルード/埋め込む方法を探しています

CMSとしてWPを使用しています。同じヘッダを共有する複数のページがあります。

グループ1にはヘッダー1があります。グループ2にはヘッダー2があります。

私はこれら2つのプラグインを見て、HTMLとショートコードの組み合わせを挿入する簡単な方法を探しました。 http://wordpress.org/extend/plugins/wp-include-file/ http://wordpress.org/extend/plugins/post-スニペット/

どちらの解決策も優れていますが、ショートコードを処理しません。

例:

<div id="bugs2">

[caption id="attachment_214" align="alignnone" width="75" caption="Pack Rat"]<a href="pack-rat/"><img class="size-full wp-image-214" title="ID Pack Rat" src="http://xyz.com/epm/wp-content/uploads/2011/01/ID-Pack-Rat-e1295503174487.jpg" alt="" width="75" height="75" /></a>[/caption]

[caption id="attachment_218" align="alignnone" width="75" caption="Pocket Gopher"]<a href="pocket-Gopher/"><img class="size-full wp-image-218" title="ID Pocket Gopher" src="http://xyz.com/epm/wp-content/uploads/2011/01/ID-Pocket-Gopher-e1295503138319.jpg" alt="" width="75" height="75" /></a>[/caption]

</div>

誰かが(サーバーのインクルードフォルダに)外部ファイルからこのコードを埋め込むか、または含めるための代替方法を知っていて、ショートコードを処理しましたか?

ありがとうございます。

1
Nohl

私は以前に wp-include-file を使ってこれを行いました。プラグインのディレクトリにあるwp-include-file.phpというファイルを編集する必要があります。 144行目で次の値を置き換えます。

return $content;

return do_shortcode($content);

それだけです。

お役に立てれば。

1
Bainternet

テストはしませんでしたが、プラグインファイルを編集するよりも、自分の関数で呼び出しをラップしてショートコードを再登録する方が便利かもしれません。このようなもの:

function wp_include_file_with_shortcode( $atts ) {

    return do_shortcode( wp_include_file( $atts ) );
}

remove_shortcode( 'include' );
add_shortcode( 'include', 'wp_include_file_with_shortcodes' );
1
Rarst

私のプラグイン get-post がこれを処理します。それはあなたが他の投稿/ページに投稿を含めることを可能にし、この包含の間に先に進みそしてプラグインを処理するでしょう。それは少しの再帰も考慮に入れるべきです:)

0
jtatum