WordPressでカスタムフィールドが消える原因と解決方法
WordPressで記事を保存した際に、入力したカスタムフィールドが消えてしまうことがあります。この問題は、PHPの設定項目であるmax_input_varsの値が低いために発生することが一般的です。この記事では、その原因と解決方法を詳しく解説します。
1. 問題の原因: max_input_varsとは?
max_input_vars
は、PHPの設定項目で、POSTリクエストやGETリクエストで処理できる最大の入力変数数を定義します。デフォルト値は1000に設定されていますが、カスタムフィールドの数が多い場合、この制限を超えてしまうことがあります。これにより、保存時に一部または全てのカスタムフィールドが消える問題が発生します。
2. 解決方法: max_input_varsの設定を変更する
この問題を解決するためには、max_input_vars
の値を増やす必要があります。設定方法はいくつかありますが、以下に主要な方法を紹介します。
方法1: php.iniを編集する
サーバーにアクセスしてphp.ini
ファイルを編集し、max_input_vars
の値を増やします。以下のように設定を変更し、適用します。
; php.iniの編集例
max_input_vars = 3000
設定を変更した後、Webサーバーを再起動して変更を反映させます。
方法2: .htaccessファイルを編集する
もしphp.iniファイルを編集できない場合、.htaccess
ファイルに以下のコードを追加して、設定を上書きできます。
# .htaccessの編集例
php_value max_input_vars 3000
方法3: wp-config.phpを編集する
一部のサーバー環境では、wp-config.php
に設定を追加することで解決できる場合もありますが、通常はphp.ini
や.htaccess
での設定変更が必要です。
3. 設定変更後の確認方法
設定変更後、WordPressの管理画面からカスタムフィールドを入力して記事を保存し、データが消えずに保存されるか確認してください。また、phpinfo()
関数を使って、max_input_vars
の値が反映されているかを確認することもできます。
4. 他の注意点
max_input_vars
の値を過剰に高く設定すると、サーバーのパフォーマンスに影響が出る可能性があります。必要な範囲で適切に設定するようにしてください。
まとめ
WordPressでカスタムフィールドが保存時に消える問題は、max_input_vars
の設定変更で解決できることが多いです。適切な設定を行い、WordPressの快適な運用を実現しましょう。