ほんの数日前、ユーザーの1人から奇妙な問題が報告されました。問題は、カスタムメニュー項目の制限に達してしまうということでした。メニュー項目の制限に達した後、保存したものは何も保存されませんでした。私たちはこの問題を聞いたことがなかったので、ローカルインストールで試してみることにしました。200以上のメニュー項目を作成して保存しました。問題なく動作しました。100項目をドロップダウンに移動させましたが、問題なく保存されました。その時点で、これはサーバーに関連していると確信しました。さらに調査したところ、他の多くの人も同じ問題を抱えていることがわかりました。もう少し深く掘り下げると、この問題を強調するTracチケット(#14134)を見つけました。非常に非常に長いTracチケットを読んだ後、問題はまだ修正されていないようですが、この問題を抱えている人々のための回避策があります。この記事では、WordPressでカスタムメニュー項目の制限を修正する方法を説明します。
問題を解決するには、PHP.iniファイルを編集する必要があります。専用サーバーまたはルートアクセス権を持つVPSを使用している場合は、すでに何のことかわかっているはずです。共有ホスティングを使用している場合や、PHP.iniファイルがどこにあるかわからない場合は、ウェブホスティングプロバイダーに依頼してください。
PHP.ini設定で以下の値を設定するように依頼する必要があります。
suhosin.post.max_vars = 5000 suhosin.request.max_vars = 5000
別のユーザー「ronnieg」は、彼の大きな(450ページ以上あり、増え続けている)不動産サイトとメニューのために彼が持っている回避策を投稿しました。彼の応答を読むことで、それに従うことができます。(注意:私たちはこれを試していません)
問題の説明
この問題は完全にWordPressベースではありません。なぜなら、異なる人々が異なる制限(いくつかは16、他は50と言い、ご存知の通り、私たちは制限を見ることなく200まで行きました)を見ているからです。理論上、WordPressはあなたが持つことができるメニューの数を制限していません。あなたのウェブホスティングサーバーが制限しています。POSTの最大変数に対するSuhosinの制限があり、それが大量のエントリの保存を制限しています。Nacinはtracチケットで、これはバグではなく機能強化であると返信しました。コアチームはサーバーの制限を回避する方法を見つけ、メニュー項目を保存するためのより良い方法を見つけ出す必要があります。そのため、サーバーの設定に関係なく、カスタムメニューの制限が表示されないようになります。言うは易く行うは難し ![]()
WordPress はオープンソース(ボランティア)プロジェクトであり、コアチームは日々改善に努めています。これは修正されるでしょうが、現時点では「将来のリリース」と記載されているため、具体的な時期は定義されていません。
もしこの問題を解決した別の方法を試された場合は、コメントで教えてください。これにより、コアチームが回避策を見つけるまで、他の人が問題を解決できるようになります。
タミム
こんにちは!共有ホスティングを利用しています。そのため、php.iniファイルを編集するためのrootアクセスがありません。どうすれば問題を解決できますか?
WPBeginnerサポート
Tamimさん、
ホスティングプロバイダーに依頼すれば、それを行ってくれます。
管理者
サティア
PHP.iniファイルにアクセスでき、指示通りに更新しましたが、機能しません。
何をすべきか、なぜそうすべきなのか、私にはよくわかりません。
マヘシュワラン
こんにちは
外観 -> メニュー -> クリック -> リダイレクト先 -> 404ページ
ウェブサイトにいくつかのメインメニューとカテゴリを追加しました。しばらくすると、メニューを開いて何かを変更したり削除したりできなくなりました。ウェブサイトが404ページにリダイレクトされます。多くのコードを試しましたが、何も機能しません。助けてください。
トニ
私も同じ問題に遭遇しました…しかし、私はローカルホストで作業しており、助けを求める相手がいません!(Windows 10/XAMPP/WP4.8)。WP初心者で、php.iniがどこにあるかもわかりません!私の「簡単な解決策」は、重要度の低いサブメニュー項目をいくつか削除することでした。しかし、それらをすべて元に戻したいのです。上記のメモリバンプを確認しましたが、古いものです。WP4.8では機能しないかもしれません!リスクを冒す価値はありません!
ヌシュ
こんにちは。
素晴らしい情報ありがとうございます。Webrootに以下の情報を持つph5.iniファイルを作成することで、GoDaddyホスティングの問題を最終的に解決しました。
memory_limit = 256M;
max_execution_time = 300;
max_input_vars = 3000;
カスタマーサービスによるデータベースのリセット後に問題が解決しました。これは私にはできませんでした。お役に立てば幸いです。
アントン
こんにちは、ありがとうございます
この問題を抱えていました。メニューが長かったのですが、ある日50行に減ってしまいました。テーマサポートがこのトピックに送ってきました。すべてのオプションを試しましたが、ホスティングサポートに連絡しなくても、私には1つしか機能しませんでした。
「#end of wordpress」行の前に、「php_value max_input_vars 5000」(引用符なし)を.htaccessファイルに追加したところ、問題が解決しました。
テオドズ
ありがとうアントン!.htaccess ファイルを使った方法で私のウェブサイトは救われました!ありがとう
アジェイ・ダムラリヤ
ありがとう、兄弟
同じ問題を抱えていましたが、今は修正されました。
ラマチャンドラン
こんにちは、チーム
HostgatorのマルチドメインSSLを使用しています。
設定を確認しましたが、どこでどのように行えばよいかわかりません。
php.ini ファイルに max_input_vars=9000; というコードを追加しましたが、メインメニューにメニュー項目を追加できません。
誰か助けてください。大変感謝します。
敬具、
-Rams
ラマチャンドラン
Multidomain SSLを使用してWordPressマルチサイトをセットアップしました。
ダン
今まさにこの問題に直面しています。ホストに連絡したところ、共有サーバーのため 5000 変数まで増やすことはできない/しないと言われました。他に解決策はありますか?同じページに 2 つのナビゲーションメニューを設置することは可能ですか?それで問題が解決するでしょうか、それとも単に続くのでしょうか?
事前に感謝いたします。どのようなご協力でも大変ありがたく思います。
sdkmendis
素晴らしい。私も長い間、原因不明で同じ問題を抱えていました。多くの人に尋ねました。今日、ようやく問題を解決しました。ホスティングゲイターのコールセンターの担当者に電話する必要はありません。自分でできます。本当に助かりました。感謝の言葉もありません。
ラジット
これに設定できる最大制限はいくつですか?私も5000の制限を超えてしまったようです。
ラジット
実際、8000の上限を超えてしまいました
レネー
Mahalo nui loa (どうもありがとう)!
これはBluehostの共有ホスティングにあるクライアントのサイトで機能しました:
1. Cpanel > ファイルマネージャー
2. public_html > wp-admin
3. 「新規ファイル」をクリック > php.ini と名前を付ける(このファイルがまだない場合)
4. php.ini をクリック > 「編集」をクリック > もう一度「編集」をクリック
5. 次を貼り付け:max_input_vars=5000; > 保存 > 完了
ビピン
機能していません
アンジャン・プカーン
こんにちはReneeさん、助かりました。本当にありがとうございます。
タン
私の場合はこれでうまくいきました!あなたは私の天使です!素晴らしい共有です。この問題に2日間悩まされていました。本当にありがとうございます!
Kelli
Reneeさん、これは私のクライアントにも機能しました。ありがとうございます!彼らはHostGatorでホスティングしています。
Hasan
試しました、
.htaccess ファイル内:
php_value max_input_vars 5000
php.ini ファイルで:
max_input_vars=5000;
upload_max_filesize = 70M;
post_max_size = 128M;
upload_tmp_dir = 70M;
max_input_vars = 3000;
memory_limit = 256M;
.user.ini ファイル内:
max_input_vars=3000;
また、php.ini と .user.ini を wp-admin の内外に配置してテストしましたが、何も効果がありませんでした。
.htaccessに追記したところ、wp-adminページが真っ白(空白)になってしまいます。
私のホスティングは
どんな助けでも感謝します。TIA
ルー・コムナーレ
GoDaddyを使用していますが、php.iniの修正は全く効果がありませんでした。Godaddyは、そのページやコードを有効なものとして認識すらしていません。
Godaddyの担当者からサポートを受けて、回避策を提供してもらいました。
HTML フォルダに .user.ini (ドット・ユーザー・ドット・イニ) という名前のページを作成しました。そのページに次のコードを追加しました。
max_input_vars = 3000
今のところうまくいっているようです。
アクート・ウィボウォ
htmlフォルダに.user.ini(ドットユーザー・ドット・ini)というページを作成しました -> PUBLIC_HTMLフォルダにファイルを作成したということですか?
godaddyサーバーでも同じ問題が発生しているので、確認をお願いします。
そして、1週間も連絡が取れていません。
なぜGoDaddyに連絡するのがこんなに難しいのか分かりません。
ガブリエル
Akut ゴーダディも使っています。
php.iniファイルは、php.admin内ではなく、ファイルマネージャーのpublic_htmlフォルダ内に見つかりました。php.iniファイルを作成する必要もありませんでした。
GoDaddyはWPの問題だと考えているようで、その特定の件でたらい回しにされました。
ファイルサイズの上限を増やすように指示されました。(同じ修正ではありません)。
ケン
このソリューションは、1and1ホスティングプラットフォームで機能した唯一のものでした:
HTML フォルダに .user.ini (ドット・ユーザー・ドット・イニ) という名前のページを作成しました。そのページに次のコードを追加しました。
max_input_vars = 3000
フノール
ありがとうございます!これは私にも効きました(GoDaddyでホストされていませんが)。
ありがとうございます
ありがとうございます、これでうまくいきました。
アンジャン・プカーン
ルー、うまくいきました。本当にありがとうございます。
ブロック・ラインハート
Louさん、最初の確認(そして最初のテスト)で完璧に機能したようです。ありがとうございます!
他に問題が発生した場合は更新します。
ジェイ・パタル
WordPressサイトにサブメニューを追加する際に問題が発生し、カスタムリンクに変換されてしまいます。
このエラーを解決するのを手伝ってください。
チャンダニ
ありがとうございます…完璧に動作しました。
マヘシュ
WordPress を削除して、Magento に移行するのが最善の解決策です。2ヶ月試行錯誤した後、これでうまくいきました。
ワジュッラー・アリフ・フセイン
Ubuntu VPSでは、以下のようにコメントアウトを解除して値を高く設定することで修正できました。
max_input_nesting_levels = 500
max_input_vars = 5000
とにかく、解決策への道を示してくれたので感謝しています
Sumon
ありがとう、私もこれでうまくいきました。
タンビール
愛してるよ、君!
君のこの解決策は、私の別の問題も解決してくれた!その問題は
「メニューを「メニュー編集」タブで保存した後、「メニュー設定 -> テーマの場所」のチェックが保持されず、「場所の管理」タブでメニューの場所が削除されてしまいました。」
ジョニー
やあ、
WordPressのマルチサイトを実行していて、サイトにカスタムフィールドを追加するのに問題があります。何も試しましたがうまくいかず、max_input_nesting_levels = 500を増やすというあなたの回答を見ました。VPSのUbuntu 16.04でPHP.Iniファイルでこの値を増やそうとしましたが、うまくいきませんでした。info.phpにはまだmax_input_nesting_levels = 64と表示されています。この値をどのように増やしたのか、PHP.iniファイル経由なのか、それともhtaccessファイル経由なのか教えていただけると幸いです。
よろしくお願いいたします。
アレハンドロ
本当にありがとう、私の非常に長いメニューでうまくいきました!!
ミノ・タウール
HostGatorの皆様 – 同じ問題 & これで解決しました:
1. Cpanel > ファイルマネージャー
2. public_html > wp-admin
4. 「新規ファイル」をクリックし、php.ini という名前を付けます(このファイルがまだない場合)。
4. php.ini をクリック > 「編集」をクリック > 再度「編集」をクリック
5. ペースト: max_input_vars=5000; > 保存 > 完了
ヤニス
素晴らしい修正です。ありがとうございます!
ラジット
こんにちは、
私のサイトはgodaddyでホストされています。wp-adminにphp.iniを作成し、max_input_vars=5000;という一行を貼り付けました。
メニューをさらに追加できませんでした。
サンガムKR
ご提案ありがとうございます。あなたの提案に従って max_input_vars=5000; を含む php.ini ファイルを追加したところ、問題が解決しました。改めて感謝します。
ロリ
1 – テキストファイルを作成します
2 – 次を貼り付けます:” max_input_vars=5000; ”(引用符なし)
3 – php.ini として保存します
4 – public_html > wp-admin にFTPで接続します
完璧です
ありがとうございました!!!
アニタ
ありがとう、私のサイトを救ってくれました!
これは私にとって完璧に機能しました!
Minoさん、こんにちは
私のウェブサイトでも同じ問題が発生しています
私のサイトはHostGatorでホストされています。php.iniファイルを/wp-adminに追加しましたが、私には機能しません。助けてください。
キンバリー・ポッツ
私もこの問題を抱えています。Studio Pressの技術者にこのサイトを勧められました。Host Gatorの共有ホスティングアカウントを持っています。3000や5000では何も進まなかったので、max_input_varsを7000に引き上げてもらいました。お勧めのphp.iniをwp-adminに作成しました。それでもうまくいきません。wp-adminに作成したので、publicフォルダのphp.iniを削除する必要はありますか?解決するために一生懸命頑張っています。ありがとうございます。
ベディル
ALEX、あなたはヒーローです。解決策について多くのことを読みました。ありがとう
ムハンマド・カイザー・カーン
Alexさん、本当にありがとうございます。心から感謝しています。
ビジェイ・ラティヤ
アドバイスありがとうございます
php.iniでmax_input_varsを増やしたら動作しました。
ゲズギンロッカー
共有ホスティングなので、php.ini をルートフォルダに置いても効果がありませんでした。しかし、wp-admin フォルダに置くと効果がありました。これは、nav-menus.php ファイルが wp-admin フォルダ内にあるためだと思います。
ガジェット
皆さん、…はい、私もこのメニューの問題/不具合に遭遇しました…そして、それはひどいものでした!!! 50ページから100ページの間で、メニューに追加した最後の項目が削除されたり、メインメニューのナビゲーションから落ちたりしていました!何だって?!!!
初心者も玄人も、この(問題)について知っています…これは私のケースについてのみ話していますが、同じ悪夢を経験した誰かの役に立つことを願っています…さあ、始めましょう。
HostGator の「共有ホスティング」では、「suhosin」はありません。これは、HostGator の担当者によると、PHP のスクリプトエラーに対するパッチ/プログラムであり、「サーバー」を保護するために設計されているとのことです。…この詳細にもかかわらず、続けます…私のケースで重要だったのは、…最終的に HostGator の担当者、3人目の担当者に、私の問題に関するくだくだしい説明を通して理解してもらえたのは、「max_input_vars = 3000」の部分でした。
私のHostGatorの担当者が保留にし、問題を調査した結果、「max_input_vars = 3000」をphp.iniファイルに入れる必要があると判断しました。これは、HostGatorのみがアクセスできるファイルであり、私たちがHostGatorや他のホスティングプロバイダーのアカウントを通じて、よくアクセスポイントと呼ぶCPanelを使用してアクセスできる「ホーム」または「ルート」ディレクトリにあるphp.iniファイルではありません。
このphp.iniファイルは、私やアカウント保有者である私たちが、ホスティングアカウントへのアクセス権を持っていても、インターネット経由でアクセスできるようなものでは全くありません。わかったか? よろしい、そして知っておくと良いことだ。
さて、私がやったことは、この投稿のすぐ下のアレックスが言っていたことを実行し、これらのテキスト/コード行をphp.iniファイルに入れ、それを私のドメインで作業していたドメインの「wp-admin」フォルダ内のpublic_htmlファイル領域に置きました。しばらくの間、この「修正」が機能していると思っていましたが、今日、さらにページを追加していたところ、「なんてこった」という感じで、メインメニューのナビゲーション項目がラインから落ちてしまいました。まったく!
問題に再び戻り、この投稿全体と、少し私の手に余る「Coretrac Ticket」のスレッドを再確認しましたが、それでも私は勤勉で決意を持っていました。そして、HostGatorの人々と再び話し合い#2を行い、その電話を終え、3人目の人でうまくいきました。
最後に学んだことは、「max_input_vars = 3000」というのは、あなたのインストール/ドメイン/WordPressが持つことができるページ数に関係しており、「3000」はページ数を意味するということです。私のHostGator担当者は5000ページを設定しました。
そのため、彼が電話中にその場で2つの新しいテストページを追加したところ、「やった!」と報告されました。やった!私もこれで好きなだけページを追加できるようになるはずです!あなたもWordPressの楽しさを体験できますように!
よろしくお願いいたします。
ガジェット
Netman
HostGatorの共有ホスティングアカウントで、wp-adminフォルダ内のphp.iniファイルに以下の行を追加することで問題が解決しました。
max_input_vars = 9000;
ありがとう
アレックス
php.ini ファイルを作成しますが、ルート(public_html)ではなく、「wp-admin」フォルダ内に作成し、以下を追加してください:
max_input_vars = 3000;
また、以下も設定しています:
upload_max_filesize = 70M;
post_max_size = 128M;
upload_tmp_dir = 70M;
max_input_vars = 3000;
memory_limit = 256M;
ジェイ
これは私に効きました、とても簡単でした。
ありがとうございます!
ディエゴ
Alex、できません。
ジョアンヌ
ありがとうございます!ありがとうございます!ありがとうございます!この問題を修正する解決策を何時間も探していました!!!これで解決しました!感謝します!
Maninderpreet Singh
ありがとう
ブライアン
ありがとうございます!!!
AMGil
Alexさん、ありがとうございます。オンラインで見つけた多くの解決策を試しましたが、これが唯一機能したものです。命の恩人です!!
デボラ
これを行うとWordPressの編集画面に一切アクセスできなくなりますが、別のphp.iniファイルを削除した方が良いでしょうか?
prateek rathore
ありがとう、アレックス、
この問題についてたくさんグーグルで調べましたが、ついにあなたが提供した解決策を見つけました。
キンバリー・ポッツ
ついに解決策が見つかりました。すべての提案を試した後、Host Gatorの技術者がルートディレクトリにmax_input_vars=5000;を追加してくれました。ビンゴ!これで機能します。:))
ついに
同感です。
Jeffrey de Jongh
この素晴らしいヒントをありがとうございます!UberMenuで同じ問題を抱えていました。今、.htaccessファイルにphp_value max_input_vars 5000を追加したところ、問題が解決しました。
アラナ
いくつかのことを試しましたが、うまくいきませんでした。ホストにこれらの PHP 設定変更を行ってもらいました。また、他の人が提案したように Memory Bump プラグインを有効にしてから削除しました。
私のテーマ(Twenty Ten)はメニューを1つしかサポートしていません。別のメニューを作成し、そこで問題なく変更を加えることができます。ライブサイトがあるので、実験できる量には限りがあります。
他に何かアイデアはありますか?この際、何でも試します。
バヴィン
Matさん、本当にありがとうございます。これは完璧に機能しました…
マット
マットの提案は私も効果がありました。なぜなら、私は suhosin を実行していないからです。
php.ini ファイルに max_input_vars = 5000 を追加しました
valente
こんにちは、wp-adminにphp.iniファイルをmax_input_vars = 5000
として配置しましたが、機能しませんでした。このphpファイルは別のディレクトリにも配置する必要がありますか?
ありがとうございます
WPBeginnerサポート
ファイル名を php.ini とし、Php.ini としないようにしてください。
管理者
バート
同じ問題を抱えており、Memory Bumpプラグインでも解決しませんでした。
ホスティングプロバイダーに連絡したところ、php.ini ファイルはまだなく、自分で作成するか、WP に作成してもらう必要があると言われました……
どうすればこれを実行できますか?
WPBeginnerサポート
Bartさん、もしあなたのウェブサーバーがPHPスクリプトを実行しているなら、必ずphp.iniファイルがあります。それをウェブホストが設定したいなら設定できます。
管理者
Zek
WPのajax機能がリスト内のアイテム数を評価し、1つの大きなリクエストではなく複数の連続したリクエストに分割することで、簡単な修正になるようです。
WordPressチームがこれを事前に考えていなかったのは奇妙ですが、プラットフォームが非常に堅牢であるため、彼らには手が回らないのでしょう。自分でやるかもしれませんが、もちろん将来のアップデートで上書きされないようにする必要があります。なんて面倒なんだ!
ラリー
Mat Lipeさんと同じ状況です。私のサーバーにはsuhosinがインストールされていないため、問題が発生していました。Matさんが投稿したディレクティブをphp.iniファイルに追加することで問題を解決できました。ありがとうございます。
Selma
同じ問題に直面しましたが、ホスティングサポートと何日もメールでやり取りした後、ついに解決しました!
彼らは以下の変更を行いました:
php.ini に max_input_vars = 5000 を追加しました
これで、まるで魔法のように機能し、好きなだけページを追加できるようになりました。
ピユシュ
SELMAさん、こんにちは。
あなたの解決策は私に効きました
ありがとうございます!!!!!!!!!!
ピユシュ
Mat Lipe
こんにちは、
私のサーバーはsuhosinを実行していないため、php.iniファイルにこれを追加してサーバーを再起動することでこの問題を解決できました。
max_input_vars = 5000
同じ問題を抱えている他の誰かの助けになれば幸いです
ニックス
これでうまくいきました、ありがとう!
エリヤシブ
素晴らしい!!うまくいきました/
ありがとうございます!!
Luyen Dao
ありがとうマット!スホシンを追加しようとしましたが、設定すらしていないことに気づきました!
マイケル
すごい!マットさん、本当にありがとうございます。これは素晴らしい効果があります!!!
デール
これ、ありがとうございます。
かなり前にこれを経験し、メモリ割り当てに関連していると思っていました。
WordPressdotorg の Memory Bump Plugin ( http://wordpress.org/extend/plugins/memory-bump/ ) を有効にした後、最終的にメニューをさらに追加できるようになりました。
その後、プラグインを無効化しました。
コードをいじることなく、迅速かつ簡単でした。