WordPressでget_the_category()やget_the_tags()などが、記事と別の値を取得してしまうときの対処法
※本ページはプロモーションが含まれていますWordPressのプラグインを開発している時、get_the_category()やget_the_tags()、get_post_meta()などの関数が、使う場所によって返ってくる値が違うことに気づきました。
先の方で処理している関数は、ちゃんとした現在の記事のデータを返してくれるのですが、処理が最後の方になると別の記事のデータが返ってきます。
これは、テーマファイルが新着記事の取得にWP_Queryを使っていたのが原因でした。
新着記事のループに使ったので、get_the_category()やget_the_tags()が新着記事のループの最後の記事のデータを表示させていました。
これを解消するために、「wp_reset_postdata() 」を使うと現在の記事の情報が戻ります。
wp_reset_postdata()