コンテンツとギャラリーの分割
投稿のコンテンツとギャラリーのショートコードを分割する方法はありますか。ギャラリーの配置方法や場所に関係なく、通常のコンテンツの外側にギャラリーを表示したい。これを使用してショートコード自体を取得できます。 if(has_shortcode(get_the_content(), 'gallery')){ $pattern = get_shortcode_regex(); preg_match("/$pattern/s", get_the_content(), $matches); echo do_shortcode($matches[0]); } しかし、ギャラリーの短いコードが最初のインスタンスでない場合、これは機能しません。コンテンツとギャラリーを完全に分割する方法はありますか? 編集:私は半解決策を持っていますが、それを取り巻くには長い道のりのようです。最初に投稿内の最初のショートコードを取得し(「ギャラリー」ショートコードのみが必要なため修正する必要があります)、その後コンテンツからすべてのショートコードを削除します(もう一度、実際にやりたいことではありません)。 <?php if(has_shortcode(get_the_content(), 'gallery')) : ?> <?php $pattern = get_shortcode_regex(); preg_match("/$pattern/s", get_the_content(), $matches); ?> <div id="content"> <?php echo strip_shortcodes(get_the_content()); ?> </div> <div id="gallery"> <?php echo do_shortcode($matches[0]); ?> </div> <?php endif; ?> 編集#2 -OK、投稿でギャラリーショートコードしか取得できませんでした。ギャラリーショートコードフォームを削除するためのフィルターも追加しました。the_content()問題は、ショートコードが投稿されるため、必ずしもショートコードを削除するとは限らないが、「do_shortcode()」を実行できないことです。 Functions.php function remove_gallery($content) { …