WordpressでWebサイトをデザインしています。このサイトは、すべてのページがホームページに印刷され、メニューがアンカーまでスクロールするパララックス サイトの 1 つです。
そうは言っても、メインメニューにあるすべてのページを引き出すために wp_query を使用しています。さらに、wp_query の使用も必要とするコンテンツで使用するショートコードがあります。
私が抱えている問題は、ショートコード (埋め込まれた wp_query) がポストデータを台無しにしていることです。wp_query を使用する場合、通常は wp_reset_postdata を使用したいことはわかっていますが、この特定の状況では機能しません。この関数呼び出しは、現在実行中の wp_query ではなく、ホームページの postdata を復元するためです (不明な場合は申し訳ありません)。 .
postdata のスナップショットを取り、ショートコードの後に復元する方法はありますか? 次のようなものを探しています:
function my_shortcode() {
save_postdata(); //saves the current postdata
$query = new WP_Query();
while( $query->have_posts() ) {
$query->the_post();
echo get_the_title();
}
my_wp_reset_postdata(); //restores the postdata to where it was before the loop
}