私はapply_filters('the_content)
を使っているので、バックエンドのwpエディタの中で正しくフォーマットされたコンテンツを見ることができます。
ただし、これはコンテンツに含まれるショートコードもレンダリングします。
ショートコードを無視し、コンテンツの残りの部分にフィルタを適用することを希望します。基本的には投稿をするときと同じことです。バックエンドで投稿コンテンツを表示すると、ショートコードが表示されますが、Webサイトのページ内で表示すると、レンダリングされたショートコード(その結果)が表示されます。
これは可能ですか?
ショートコードdo_shortcode
を解析する関数は、デフォルトで優先順位11でthe_content
のフィルタとして追加されています。
remove_filter
を使って削除できます。
remove_filter( 'the_content', 'do_shortcode', 11 );
実際にthe_content
を使用する直前にこれを呼び出し、後でそれを追加します(それがその後必要になることは稀ですが)
remove_filter( 'the_content', 'do_shortcode', 11 );
the_content():
add_filter( 'the_content', 'do_shortcode', 11 );