🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
WordPress

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

Q&A

解決済

1回答

7587閲覧

WordPress ACFで追加したカスタムフィールドに、記事更新しても保存されない。

hiro..

総合スコア79

WordPress

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

1グッド

1クリップ

投稿2020/12/01 23:30

お世話になっております。

既存のWordPressサイト内のいち固定ページに、すでにACFで設定されているカスタムフィールドの項目を追加しました。

既存のグループフィールドの中に、繰り返しフィールドを1つ追加した形です。

該当固定ページにカスタムフィールドは以下のように追加されたのですが、
イメージ説明

投稿編集画面にて内容を追加ー>更新をしてもページに反映されないのでおかしいなと思い
投稿編集画面をリフレッシュしたところ、先ほど入力した値が保持されず消えてしまいました。
(更新を押しただけだと消えず、ページをリフレッシュすると消えます)

追加した繰り返しフィールドの値は画像、テキスト、URLの3つで、いずれに入力しても値が保持されず消えてしまいます。
また、既存のフィールドに関しては値が保存されます。ローカルでも同じやり方で正常に保存ができました。

カスタムフィールド 追加 消える

等で検索して出てくるものは、カスタムフィールド自体の設定画面内で項目が追加できない。。。という事例のもので、
投稿画面にちゃんと反映されるのに保存できない、という内容は見つけられませんでした。

お客様のドメインなので、とりあえずphp.iniを編集してみようということも気軽にはできず、
ここでご相談させていただいた次第です。

どのようにすれば値を保存することができるのでしょうか。
よろしくお願いいたします。

WordPress 5.2.7
PHP7.2.29

退会済みユーザー👍を押しています

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

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

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

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

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

gogoweb_ikeda

2020/12/02 07:41

繰り返しフィールドを使用しているようですが、繰り返しが1件の時でも保存できないのでしょうか? それとも繰り返しフィールドをたくさん作成したときでしょうか? 1件では保存できて複数フィールドで保存できない場合はPOSTできる値の上限数に引っかかっている可能性があります(標準で1000)
hiro..

2020/12/02 10:46

ありがとうございます。 該当固定ページ内では既存の繰り返しフィールドがあり、追加・変更が可能なことを確認いたしました。 今回追加した繰り返しフィールドのみ、1件でも保存もできない状態です。。 POSTの上限があるという記事は確かに見かけました。 >1件では保存できて複数フィールドで保存できない場合 こういう見分け方があったのですね。ありがとうございますm(__)m
guest

回答1

0

ベストアンサー

おっしゃるように固定ページでカスタムフィールドの有効化ができないようですね。
イメージ説明
「有効化してリロード」してもチェックが外れたままでした。

Fixing Custom Fields Not Showing Issue in WordPress

上の記事を参考に、使用中のテーマの functions.php に次のコードを追加でいかがでしょうか。

PHP

1add_filter('acf/settings/remove_wp_meta_box', '__return_false');

追記(質問者 hiro..さんにより解決)

ACF Fields not saving data
フィールドの名前の競合(フィールド名を変更)

投稿2020/12/02 02:08

編集2021/01/18 02:01
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

hiro..

2020/12/02 05:13

ご回答いただきまして、ありがとうございます。 ご教示いただいた内容でデフォルトのカスタムフィールドを有効にすることはできたのですが、 ACFを使って追加したフィールドだからか保存できない挙動に変化はみられませんでした。 引き続き、何かお気づきになりましたらよろしくお願いいたしますm(__)m
退会済みユーザー

退会済みユーザー

2020/12/02 06:14

確認不足で失礼しました。 「繰り返しフィールド」というのは「Repeater Field」というアドオンを導入されているということでしょうか。
hiro..

2020/12/02 06:29

はい、ACFのアドオンを使った繰り返しフィールドになります。 こちらこそ、デフォルトのカスタムフィールドのことを忘れており書き方があやふやで申し訳ないです。
退会済みユーザー

退会済みユーザー

2020/12/02 07:33

裏技的な情報で恐縮です。 あらかじめデータベースのバックアップをしていただくとして、 wp-includes/version.php の中に $wp_db_version = 48748; のような値が確認できると思います。 次にデータベースの wp_options テーブル内に db_version: 48748 という値がセットされていると思います。 これを例えば 48747 のように小さい値に更新してブラウザからダッシュボードを開くと、データーベースの更新が必要な状態になります。 このWPデータベースの更新がトリガーとなってACFのDBが更新されるという記事がありました。 [SOLVED] ACF not saving data after WP 5 update https://dev.to/lukethacoder/solved-acf-not-saving-data-after-wp-5-update-1jbk ちなみにACFのサポートでも同じ操作が紹介されていました。 https://support.advancedcustomfields.com/forums/topic/need-to-re-run-db-upgrade/ 「Repeater Field」を持っていないため未検証ですが参考まで。
hiro..

2020/12/02 10:57

再度のご回答、ありがとうございますm(__)m なんと、こんな方法があるのですね...! 触ったことのないphpファイルが絡んでくるので少し怖いですが、 今のテストディレクトリで作業が終わったら、一度チャレンジしてみます。 urlもご紹介いただきまして、本当にありがとうございます!m(__)m
hiro..

2021/01/18 01:15

大変ご無沙汰しております。 案件が無事終わりましたので(今回はACF追加なしで問題ありませんでした)、テスト環境で検証してみました。 結論から言いますと、フィールドの名前を変更したら、保存できるようになりました! 以下、経緯?と試したことになります。 ・いただいたサイトに沿って、実際の状況を確認してみる https://dev.to/lukethacoder/solved-acf-not-saving-data-after-wp-5-update-1jbk >wp-includes/version.php 内 $wp_db_version ← 有 > DB内 wp_options に db_version ← 無!? ここで、こちらの環境が解説と違うな〜と思い、いただいたサイトのキーワードを元に改めて調べてみました。 すると、wp-includes/version.php 内の $wp_db_version のバージョンを下げ修正し、WP管理画面にアクセスしてDBを更新する(DB内 wp_options は触らない)、という解説があったのでこちらで試してみました。 ただ、テスト環境でもお客様のサーバーで試すのが怖かったので、手順だけでもなぞるべくまず自分のサーバーでやってみました。 1: wp-includes/version.php 内の $wp_db_version のバージョンを下げ修正   この状態でphpMyAdminにアクセスしてみる→エラーいっぱい 2: WP管理画面にアクセス→DB更新ボタンが表示されるので更新→サイトは正常に表示される   この段階でもphpMyAdminはエラーいっぱい 3: wp-includes/version.php 内の $wp_db_version のバージョンを元どおりに修正   phpMyAdmin画面も元に戻る という形で、なるほどこういう手順なのかということがわかりました。 ただ、当方のサーバーではACFの保存問題は発生していなかったので、これをお客様のサーバーで試さないといけない、のですが、、 先ほどのテストでDB側のエラーいっぱいを見て怖くなってしまって。。 他になにか方法はないかと探したところ、こちらで https://support.advancedcustomfields.com/forums/topic/acf-fields-not-saving-data/ > フィールドの名前の競合が問題である可能性があるから名前を変更してみて、 というのを実行しましたところ、無事お客様の環境でACFの値が保存できるようになりました。。! ただ、ローカルでは保存できていたのにサーバー上では保存できない状態だったので、名前だけが問題だったのか?はわかりません。 ただ、フィールドをたくさん作っているサイトであれば試す価値があるかなと思いました! いただいたサイトのキーワードのおかげで、無事解決することができました!!本当にありがとうございます!!
退会済みユーザー

退会済みユーザー

2021/01/18 01:50

「フィールドの名前の競合」でしたか。なるほど。 詳細レポートありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問