経験知ロゴ

WordPressでget_the_category()やget_the_tags()などが、記事と別の値を取得してしまうときの対処法

wp_query

WordPressのプラグインを開発している時、get_the_category()やget_the_tags()、get_post_meta()などの関数が、使う場所によって返ってくる値が違うことに気づきました。

先の方で処理している関数は、ちゃんとした現在の記事のデータを返してくれるのですが、処理が最後の方になると別の記事のデータが返ってきます。

これは、テーマファイルが新着記事の取得にWP_Queryを使っていたのが原因でした。

新着記事のループに使ったので、get_the_category()やget_the_tags()が新着記事のループの最後の記事のデータを表示させていました。

これを解消するために、「wp_reset_postdata() 」を使うと現在の記事の情報が戻ります。

wp_reset_postdata() 

役に立ったらこの記事のシェアをお願いします

ブログのフォロー・RSS購読は下記ボタンから