「ログイン」タグアーカイブ

【解決済】WordPressで「このサイトで重大なエラーが発生しました。対応手順については、サイト管理者のメール受信ボックスを確認してください。」WordPressのトラブルシューティングについてはこちらをご覧ください。」と言われログインできない時の対処法

WordPressで「このサイトで重大なエラーが発生しました。対応手順については、サイト管理者のメール受信ボックスを確認してください。」と言われログインできない

自動アップデートなどが原因で、特に何も触ってないのに「このサイトで重大なエラーが発生しました。対応手順については、サイト管理者のメール受信ボックスを確認してください。」と言われて急に管理画面にログインできなくなることがある。

こんな画面が出たら要注意。でもフロントサイトは通常通り見えているし、解決方法はあるしそれほど難しくないので焦る必要はない。

手順1 wp-config.php にWP_DEBUG trueを入れる

まず、FTPソフトなどでダウンロードした wp-config.php に

define( 'WP_DEBUG', true );

を追記して上書きアップロードする。

記載場所は下記画像辺りに入れておけば良い。

これで、どの部分が問題で管理画面にログインできないのかが見えるようになる。

なお、セキュリティ的に、バグ箇所を確認した後で

define('WP_DEBUG', false);

に戻しておく方がいいだろう。

手順2 該当プラグインのフォルダをリネームして削除

バグ箇所が分かれば、その原因のプラグインをリネームして無効化することでトラブルはとりあえず解消される。

今回の例では Search Regex というプラグインが原因だった。
WordPress 5.9系と相性が悪いようだ。

FTPソフトで、wp-content/plugins/ の中から、該当のプラグインのフォルダごと名前を変更しよう。

今回の場合は「search-regex」なので「search-regex.bk」でも「search-regexmukou」でも何でもいい。
名前を変えてしまえばそれでOK。

これでログインできるはずだ。

手順3 該当プラグインの再インストールまたは削除

ログインした後、名前を変更して無効化したプラグインは動いていない。

使いたい場合は最新版を再インストールする。

もしくは不要であればアンインストールして、FTPソフトの方で名前を変更したプラグインの残骸をフォルダごと削除すればOK。

BuddyPressのサイドバーウィジェットのログイン文言変更「登録」→「新規登録」に WordPress BuddyPressカスタマイズメモ

BuddyPressのWigetの「登録」を「新規登録」にする

WordPressのSNSプラグイン、BuddyPressを導入すると不特定多数のメンバーが参加することになるので、できるだけわかりやすくしたい。


登録を
 ↓↓↓

新規登録に変えておく。
 

翻訳ファイルに変更を加える

poeditを使って、buddypressの翻訳ファイルを編集する必要がある。

poeditの入手方法と、基本の使い方は下記ページを参照。

【poeditのインストールと使い方】WordPressで「カテゴリ」を「カテゴリー」にしたい場合など

.poファイルを編集して.moファイルを作る。

今回変更したいのは、BuddyPressのウィジェットの「登録」なので…

wp-content/languages/pluginsのフォルダの中の
buddypress-ja.poファイルをFTPソフトでダウンロードして開く。

編集→検索で「登録」と入力して検索すると、

もろもろ出てくる。今回は文中の「登録」は無視して、1つの単語だけで「登録(元は英語のRegister)」である部分を見つける。

翻訳:の欄が「登録」になっているはずなので、「新規登録」と書き換えて、保存する。

この時に出力される.moファイルと合わせて、FTPソフトでアップロードして終了。

ログイン時のみ一部メニューを非表示に(ログインしてる時だけ違うCSSを読み込ませてメニューを表示させる方法) WordPress BuddyPressカスタマイズメモ

WordPressで、ログインしてる人と、ログインしてない人で違うメニューを表示させる方法

 
WordPressのSNSプラグイン、BuddyPressを導入すると不特定多数のメンバーが参加することになる。

ログイン後にのみCSSを読み込ませて、デザインや配置、表示非表示を切り替えたい場合など。


  ↓↓↓

 

メニューで、非ログイン時に非表示にするものにclass付けする

管理画面の「メニュー」で、「表示オプション」の中の「CSSクラス」のチェックボックスにチェックを入れる。

CSS class(オプション)の部分に、ログイン後非表示にしたいモノにだけ「loggedin」と書いておく。

ちなみに、class名は何でもいい。

 

functions.php へ記述

//ログイン時のみCSS適用

function loggedin_css() {
if ( ! is_user_logged_in() ) :
echo '<style type="text/css">li.loggedin {display: none;}</style>';
endif;
}
add_action( 'wp_head', 'loggedin_css');
if (!is_user_logged_in())

で、ログインしているユーザーにだけ、スタイルを読み込ませる。

ちなみに、この例では外部CSSではないが、下記のように外部CSSにして読み込ませても同じことができる。

function loggedin_css() {
if ( ! is_user_logged_in() ) :
echo '<link rel="stylesheet" type="text/css" href="https://..../xxx.css">';
endif;
}
add_action( 'wp_head', 'loggedin_css');

https://…./xxx.css の部分にCSSのパスとファイル名を記入しておくこと。