なぜ自分の投稿が見えないのか?「申し訳ありませんが、条件に一致する投稿はありません」としか見えませんか?

ブラウザのキャッシュとクッキーをクリアすると、この問題が解決する場合があります。また、search.phpおよびindex.phpテンプレートファイルにエラーがないか確認してください。

参照:

もっと助けを見つけるにはどうすればよいですか?

これらのFAQに加えて、WordPressに関するさまざまなリソースがあります。

CSSの問題に関するヘルプはどこで見つけられますか?

以下は、あなたのCSSの問題をトラブルシューティングし、解決するのに役立つ記事です:

リファラー送信に関するエラーメッセージが表示されるのはなぜですか?

投稿を保存しようとしたときにこのメッセージが表示された場合は、管理 > 設定 > 一般を確認し、WordPressアドレス(URI)ブログアドレス(URI)の両方に「www」を使用していないことを確認してください。たとえば、https://www.example.comの代わりにhttps://example.comをこれらのフィールドに使用します。

参照:

データベーステーブルを空にするにはどうすればよいですか?

参照:

次のエラー SQL/DB エラー errcode 13 ファイルを作成/書き込みできませんを修正するにはどうすればよいですか?

問題: MySQL変数tmpdirが、PHPを使用してMySQLにアクセスする際に書き込みできないディレクトリに設定されています。

これを確認するには、コマンドラインでMySQLに入り、show variablesと入力します;

長いリストが表示され、その中の1つは次のように表示されます:tmpdir = /somedir/(設定に応じて)。

解決策: tmpdir変数を、書き込み可能なディレクトリを指すように変更します。

手順:

  • 1. my.cnfファイルを見つけます。*nixシステムでは、通常/etc/にあります。Windowsシステムでは、my.iniを見つけます。
  • 2. 見つけたら、シンプルなテキストエディタで開き、[mysqld]セクションを見つけます。
  • 3. このセクションの下で、tmpdir行を見つけます。この行がコメントアウトされている場合(先頭に#がある場合)、#を削除し、行を次のように編集します:tmpdir = /writable/dir、ここで/writable/dirは書き込み可能なディレクトリです。/tmpを使用する人もいますし、/var/tmp/usr/tmpを試すこともできます。WindowsではC:/Windows/tmpを使用します。
  • 4. ファイルを保存します。
  • 5. mysqlshutdown -u -p shutdownと入力してMySQLをシャットダウンします。
  • 6. MySQLディレクトリに移動し、./bin/safe_mysqld &と入力してMySQLを起動します。通常、MySQLディレクトリは/usr/localにあるか、Linuxシステムでは/usr/にあることがあります。

これらの手順が理解できない場合は、システムを管理している人に上記を見せて、彼らが解決できるはずです。

説明: ブラウザに次の警告メッセージが表示されます:

  1. Warning: Cannot modify header information headers already sent by (output started at

理由と解決策:

通常、<!--?php &lt;/code&gt;&lt;/strong&gt; tag or after a closing &lt;strong&gt;&lt;code&gt;?-->タグの前にスペースや改行、その他のものがあるためです。通常、wp-config.phpにあります。他のファイルにも当てはまる可能性があるため、エラーメッセージを確認してください。エラーメッセージには、エラーが発生した特定のファイル名がリストされます(下の「エラーメッセージの解釈」を参照)。不具合のあるファイルを最新のバックアップからのものや、新しいWordPressのダウンロードからのものに置き換えるのが最善ですが、どちらも選択肢でない場合は、以下の手順に従ってください。

何も見えないからといって、PHPが同じように見えないわけではありません。

  • 1. エラーメッセージに記載されているファイルをFTPまたはホストのコントロールパネルで提供されているファイルマネージャーを使用してダウンロードします。
  • 2. そのファイルをプレーンテキストエディタで開きます(**MS Wordやそれに類似したものではなく、NotepadやBBEditは大丈夫です)。
  • 3. 最初の文字の後に空白行やスペースがないことを確認します。
  • 4. 保存する前に、または「名前を付けて保存」ダイアログを使用して、ファイルのエンコーディングがUTF-8 BOMではなく、プレーンUTF-8またはBOMサフィックスのないものであることを確認します。

ファイルの終わりを確認するには、次の手順を実行します:

  • 1. ?>の間にカーソルを置きます。
  • 2. コンピュータのDELETEキーを押します。MACユーザーへの注意:PCの「DELETE」キーはカーソルの右側の文字を削除します。これがここで言及されているキーです。
  • 3. そのキーを押し続けます。
  • 4. 少なくとも15秒間。
  • 5. >と入力し、
  • 6. 保存します。他のキーは一切押さないでください。
  • 7. 他のキーを押すと、問題が再発します。
  • 8. 不要なコードブロックにコードを入れないでください。単一のPHPブロックに入れてください。

間違い:

  1. <?php
  2. some code;
  3. ?>
  4. <?php
  5. some other codes;
  6. ?>

正しい:

  1. <?php
  2. code;
  3. some other code;
  4. ?>

ファイルを編集して保存した後、サーバーに再アップロードします。

注意:ファイルのエンコーディングも確認してください。ファイルがUTF-8 with BOMとしてエンコードされている場合、BOMは出力の開始を示す文字として見なされます。

エラーメッセージの解釈:

エラーメッセージがWarning: Cannot modify header information - headers already sent by (output started at /path/blog/wp-config.php:34) in /path/blog/wp-login.php on line 42と表示される場合、問題はwp-config.php#34行にあり、wp-login.php#42行にはありません。このシナリオでは、wp-login.php#42行が影響を受けています。wp-config.php#34行の余分な空白の影響を受けています。

エラーメッセージがWarning: Cannot modify header information - headers already sent by (output started at /path/wp-admin/admin-header.php:8) in /path/wp-admin/post.php on line 569と表示される場合、問題はadmin-header.php#8行にあり、post.php#569行にはありません。このシナリオでは、post.php#569行が影響を受けています。admin-header.php#8行の余分な空白の影響を受けています。

このエラーを引き起こす可能性のある他の問題:

wp_redirect()関数を使用した場合や、ヘッダーの後(またはコンテンツが送信された後)にヘッダーリダイレクトを使用しようとした場合、このエラーメッセージが表示されます。必要に応じて、JavaScriptリダイレクションを使用してください。

なぜ「公開」または「下書き保存」ボタンが機能しないのですか?

この問題や類似の問題を解決するには、プラグインを1つずつ無効にして、問題の原因を特定します。一般的に、これは2つ以上のプラグインが同じリソース(たとえば、JQueryや他のJavaベースのツール)を使用しようとしているためです。

さらに、ブラウザに問題がある可能性もあります。一般的な解決策は、ブラウザのキャッシュを空にすることです。これを行う方法については、お使いのブラウザのドキュメントを参照してください。

AppleのSafariブラウザを使用しているときに、なぜビジュアルリッチエディタやクイックタグボタンが見えないのですか?

Safariブラウザを更新してください。初期のバージョンのSafariはサポートされていません。

メールで送信されたパスワードが受信されない

説明: ユーザーがブログに登録しようとしたり、ユーザー名やメールアドレスを入力してパスワードを変更しようとしたとき、WordPressはパスワードがメールで送信されたと表示しますが、実際には受信されません。

理由と解決策: WordPressは標準のPHP mail()関数を使用しており、sendmailを使用します。アカウント情報は必要ありません。ホスティングサービスを使用している場合、通常は問題ありませんが、自分のサーバーを使用していてSMTPサーバーがない場合、メールは送信されません。NIXサーバーを使用している場合は、postfixまたはsendmailがマシンにインストールされているはずです。設定する必要があります(インターネットで設定方法を検索してください)。NIXサーバーで完全なメールサーバーを設定したくない場合は、ssmtpが役立つかもしれません。これは「システムからメールハブにメールを送信するための安全で効果的かつ簡単な方法」を提供します。Windowsマシンでは、TLS v1.2サポート付きのWindows用のFake sendmailのようなsendmailエミュレーターを試してください。

このスレッドのWordPressサポートフォーラムでさらにヘルプを見つけることができます。WPはユーザー登録メールをどのように送信しますか?。プラグインベースの代替手段として、SMTPの設定を試すことができます:「SSL/TLS(GMailなど)を介してメールを送信するためのWordPressのSMTP設定」。

Windowsホストサーバー特有: SMTP仮想サーバーの「リレー」設定を確認してください。127.0.0.1へのアクセスを許可します。その後、php.iniファイルでSMTP設定を同じIPアドレスに設定します。また、smtp_port25に設定します。

適切な返信アドレスが使用されていることを確認してください: デフォルトでは、WordPressのメール送信者はFrom:フィールドに[email protected]を入力し、From:名をWordPressとして設定します。

これは有効なメールアドレスであれば問題ありません。たとえば、実際のメールが[email protected]であれば、ホストはメールを配信するためにそれを渡す必要があります。example.comがメールの送受信を設定されていれば、wordpressが有効なメールボックスでなくても、メールは送信されるでしょう。しかし、実際のメールをFrom:アドレスとして設定し、それが[email protected]のようなものであれば、メールは送信されない可能性があります。なぜなら、gmail.comはメールサーバーによって処理されないドメインだからです。

スパムとして扱われる: あなたのメールメッセージはスパムフォルダに振り分けられたか、さらに悪いことに、単に悪意のあるものとして破棄された可能性があります。受信者のメールサーバーにあなたのメッセージが正当であり、宛先に配信されるべきであることを納得させるために、いくつかの対策を講じることができます。

SPF:(送信者ポリシーフレームワーク)これは最も一般的なスパム対策です。ホスティングシステムにいる場合、ホストが使用しているメールサーバーのためにこれを設定している可能性が高いです。WordPressにメールを送信させ、メッセージヘッダーにSPFチェックを通過した証拠があるか確認してください。ログインページのパスワードを忘れたリンクをたどることでメッセージを送信できます。古いパスワードを保持したい場合は、メッセージ内のリンクをたどらないでください。

システムメールがSPFチェックに失敗した場合、DNSレコードにアクセスでき、メールサーバーのドメインがあなたのものであれば、資格情報を設定できます。システムが送信したメールのリターンパスを確認してください。そこにリストされているメールサーバーがあなたのドメイン名を持っている場合、SPF資格情報を設定できます。インターネット上にはいくつかの設定方法があります。

DKIM:(ドメインキー識別メール)このシステムも使用されています。SPFとDKIMを同じメッセージで使用することができます。再度、SPFと同様に、受信メールサーバーがホストのドメインキーを検証したかどうかをメールヘッダーを調べることで確認できます。署名キーが提供されていない可能性が高く、ホストがこのプロトコルを使用しないことを示しています。また、SPFと同様に、DNSレコードを編集でき、メールサーバーがあなたのドメインに属している場合、DKIM資格情報を自分で設定できます。インターネットで検索すれば、いくつかの設定方法が見つかります。

WordPressに適切なDKIMキーを送信させるには、'phpmailer_init'アクションをフックします。$phpmailerオブジェクトが渡されます。必要なプロパティを設定し、オブジェクトを返します。詳細については、クラスのソースコードを参照してください。これはwp-includes/class-phpmailer.phpにあります。

投稿でQuicktag nextpageを使用したのに、なぜ機能しないのですか?

一部のテーマ、たとえばWordPressクラシックテーマでは、<!–nextpage–>がメインページで正しく機能するのが見えるかもしれませんが、他のテーマ、たとえばWordPressデフォルトテーマでは、投稿を個別に表示する際にのみページブレークが表示されるかもしれません。この機能を希望通りに機能させるには、テーマのテンプレート page.phpまたはindex.phpファイルを変更する必要があるかもしれません。次の内容を追加する必要があります:

  1. <?php wp_link_pages(); ?>

MySQLエラー28

次の理由が考えられます:

  • /tmp(tmpdirがどこであれ)にスペースが不足している、または、
  • /tmpにファイルが多すぎる(たとえ多くの空きスペースがあっても)

これはMySQLエラーであり、WordPressとは直接関係ありません。ホストに連絡してください。一部のユーザーは、phpMyAdminで「テーブルを修復」コマンドを実行することで問題が解決したと報告しています。

引用符がエスケープされているか、エスケープされていないのはなぜですか?

プラグインを作成したり、高度なカスタムテンプレートを作成したりする場合、最終的にはデータベース内のデータを扱うことになるかもしれません。WordPressは通常、このデータを即座に使用できるように管理します。ただし、特にWordPressを使用せずにデータベースに直接アクセスしている場合、奇妙な現象が発生することがあります。

たとえば、引用符はMySQLデータベースに直接保存することはできません。MySQLはSQL言語で引用符を使用します。たとえば、投稿で引用符を使用すると、投稿がデータベースに保存されるとき、すべての引用符がエスケープされます。つまり、次の文字が入力の一部として扱われるべきであり、SQLコマンドの一部として扱われるべきではないことを示すバックスラッシュ文字が前に付けられます。

たとえば、次の内容を投稿に追加している場合:

  1. ...an article about "Happiness" is at
  2. <a href="https://example.com/happy" title="Happiness">Happiness</a>
  3. if you would like to read it...

実際にはデータベースに次のようにインポートされます:

  1. ...an article about \"Happiness\" is at
  2. <a href=\"https://example.com/happy\" title=\"Happiness\">Happiness</a>
  3. if you would like to read it...

データベースからデータを取得する際、バックスラッシュが自動的に削除されない場合があります。これが問題になる場合は、stripslashes() PHP関数をテキストに使用できます。

説明: 誰かが投稿にコメントしようとすると、ウィンドウが空白になり、コメントがWordPressによって認識されていないように見えます。

理由と解決策: 使用しているテーマがコメントフォームの重要な部分を欠いているため、WordPressはコメントがどの投稿に関連しているのかを認識できません。テーマのcomment.phpを確認し、次のコードがフォーム内に含まれていることを確認する必要があります。

  1. <input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" />

関連するディスカッションスレッド:

すべてのプラグインを無効にする必要がある場合がありますが、管理メニューにアクセスできない場合があります。すべてのプラグインを無効にするための2つの方法があります。

phpMyAdminを使用してすべてのプラグインを無効にします。

  • 1. wp_optionsテーブルのoption_name列(フィールド)でactive_plugins行を見つけます。
  • 2. option_valueフィールドを次のように変更します:a:0:{}

または、FTPまたはホストのコントロールパネルで提供されているファイルマネージャーを使用してプラグインフォルダーをリセットします。この方法ではプラグインオプションが保持されますが、プラグインを手動で再アクティブ化する必要があります。

  • 1. FTPまたはホストのファイルマネージャーを介して、wp-contentsフォルダー(ディレクトリ)に移動します。
  • 2. FTPまたはホストのファイルマネージャーを介して、pluginsフォルダーの名前をplugins.holdに変更します。
  • 3. WordPress管理プラグインページ(/wp-admin/plugins.php)にログインします。これにより、「欠落している」プラグインが無効になります。
  • 4. FTPまたはホストのファイルマネージャーを介して、plugins.holdの名前をpluginsに戻します。

自動アップグレード後に「一時的にメンテナンスのために利用できません」というメッセージをクリアするにはどうすればよいですか?

自動アップグレードの一環として、WordPressはブログのベースフォルダー(wp-adminフォルダーを含むフォルダー)に.maintenanceという名前のファイルを配置します。そのファイルが存在する場合、訪問者は「一時的にメンテナンスのために利用できません。1分後に再度確認してください。」というメッセージが表示されます。

そのメッセージが訪問者に表示されないようにするには、.maintenanceファイルを削除するだけです。自動アップグレードは再度実行されるべきです。失敗した場合に備えて。

コアの自動アップグレード機能は、バージョン2.7で追加されました。

管理画面の設定 > 設定_Permalinks_Screen日付と名前などのPretty Permalinkオプションを使用しているときに404エラーが発生する場合、mod_rewriteモジュールが有効になっていない/インストールされていない可能性があります。解決策は、Apacheウェブサーバーのmod_rewriteを有効にすることです。apache/conf/httpd.confファイルで# LoadModule rewrite_module modules/mod_rewrite.so行を確認し、その行の前の#を削除します。その後、Apacheを停止して再起動します。注意: ホストにmod_rewriteを有効にするように依頼する必要があるかもしれません。

参照:

関連するディスカッションスレッド:

この問題が発生する理由は不明ですが、次の2つの解決策のいずれかを試してみてください。

通常、これで問題が解決します:

  • 1. 新しい管理ユーザー(例:newadmin)を管理者ロールで作成します。
  • 2. 「newadmin」としてログインします。
  • 3. 古い「admin」ユーザーを購読者のロールに降格し、保存します。
  • 4. 古い「admin」を再び管理者ロールに昇格させ、保存します。
  • 5. 古い「admin」としてログインします。

それがうまくいかない場合は、次のことを試してください:

  • 1. 新しい管理ユーザー(例:newadmin)を管理者ロールで作成します。
  • 2. 「newadmin」としてログインします。
  • 3. 古い「admin」ユーザーを削除し、投稿を「newadmin」に割り当てます。
  • 4. 管理者ロールの「admin」ユーザーを作成します。
  • 5. 「admin」としてログインします。
  • 6. 「newadmin」ユーザーを削除し、投稿を「admin」に割り当てます。

ブログの投稿に誤った著者名が表示されるのはなぜですか?

この問題は、前の質問で提示されたのと同じ解決策で通常解決されます:

投稿を編集するときに管理ユーザーが著者として表示されないのはなぜですか?

アップデートがリリースされたのに、なぜ私のブログはアップデートが利用可能であることを認識しないのですか?

アップデートがリリースされると、そのリリースの通知が管理画面の上部に表示され、「WordPress x.x.xが利用可能です!今すぐ更新してください。」と表示されます。すべてのブログが同時にそのメッセージを見るわけではありません。あなたのブログは12時間ごとにアップデートを確認するようにプログラムされていますが、その確認のタイミングは完全にランダムです。したがって、ブログがアップデートがリリースされる数分前にアップデートを確認した場合、次の12時間後にブログがアップデートを確認するまで、アップデートメッセージは表示されません。

今すぐブログにアップデートを確認させたい場合は、update_coreオプション名レコードをwp_optionsテーブルから削除できます。プラグインとテーマにはそれぞれ独自のチェックと更新サイクルがあり、update_pluginsおよびupdate_themesのレコードで制御され、wp_optionsにあります。

関連するディスカッションスレッド:

最後の自動アップグレード中にWordPressデフォルトテーマへのカスタム変更を失ったのはなぜですか?

コアのアップグレードは、配布から新しいファイルを古いファイルに上書きするため、WordPressデフォルトテーマの既存のファイル(例:wp-content/themes/twentysixteen/style.css)を変更した場合、それらの変更はそのファイルの新しいバージョンで上書きされました。

コアのアップグレードは、wp-admin/includes/update-core.phpで定義された「古いファイル」のリストを通過し、それらのファイルを削除します。リストにないファイルや配布にないファイルは保持されます。

アップグレードの前に、手動または自動のいずれであっても、WordPressファイルとデータベースのバックアップを取ることを忘れないでください。

デフォルトテーマを変更するより良い方法は、子テーマを使用することです。設定には少し手間がかかりますが、メインテーマが更新されるときにカスタマイズが安全に保たれるため、努力する価値があります。

参照:

MySQLデータベーステーブルを修復するにはどうすればよいですか?

時折、1つ以上のMySQLデータベーステーブルを修復する必要があるかもしれません。dev.mysql.comのMyISAMテーブルを修復する方法によると、「tbl_name.frmが変更に対してロックされています」「ファイルtbl_name.MYIが見つかりません(エラーコード:nnn)」「ファイルの予期しない終わり」「レコードファイルがクラッシュしました」、または「テーブルハンドラーからエラーnnnを取得しました」などのエラーを含む、テーブルを修復する理由はいくつかあります。

phpMyAdminを使用してMySQLデータベース内のテーブルを修復する手順は次のとおりです:

  • 1. ホスティングアカウントにログインします。
  • 2. phpMyAdminにログインします。
  • 3. 影響を受けるデータベースを選択します。データベースが1つだけの場合、デフォルトで選択されるはずなので、何もする必要はありません。
  • 4. メインパネルに、データベーステーブルのリストが表示されます。修復が必要なテーブルのチェックボックスをオンにします。
  • 5. テーブルのリストのすぐ下にあるウィンドウの下部にドロップダウンメニューがあります。「テーブルを修復」を選択します。

常にデータベースの最新のバックアップを保持することをお勧めします。

参照:

変更履歴

  • 2023-02-17: リンクが更新され、非推奨のコンテンツに対する修正がいくつか行われました。
  • 2023-01-31: FAQトラブルシューティングからの元のコンテンツ。