質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

解決済

1回答

1350閲覧

Wordpressカスタムフィールドが本番環境だと表示されない

flower_tako

総合スコア20

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2019/11/20 11:01

カスタムフィールドがローカルだと表示されるのですが本番環境になると表示されません。
カスタムフィールドの設定はローカルと本番でそろえております。

カスタムフィールド フィールド名:temp-info タイプ:Select 選択肢yes : Yes no : No

<?php $temp_info = get_post_meta(get_the_ID(), "temp-info", true); ?> <?php if ($temp_info == "yes") : ?> <section id="temp-info" class="temp-info"> <a href="<?php the_field('link-url'); ?>"> <img src="<?php the_field('pics-url'); ?>"> </a> </section> <?php endif; ?>
var_dump($temp_info) the_field('temp-info')

を実行したところローカルでは値がかえってきます。
string(3) "yes" yes

しかし本番では値がかえってきません。
string(0) ""

このような場合
ほかにどのような方法で原因を探っていけば良いでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

問題はほかの部分ループの関数内で

wp_reset_postdata();

を記述していないため正しくget_the_ID()でIDを取得できていないことが原因でした。
(他のidを保持していたままだったため)

局所的に問題を探していましたが wp_reset_postdata();はとても大切なのだと勉強になりました。

投稿2019/11/20 11:38

flower_tako

総合スコア20

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問