• 解決済 Sadako

    (@sadakoyamamura)


    以下のような症状が出て非常に困っております。

    (数日前に間違って「バグ報告と提案」のほうに投稿したらリジェクトされてしまったようなので、再度こちらに投稿させていただきます)

    ■症状
    WordPressの管理画面(ダッシュボード)へ移動できません。
    ログインはできるのですが、TOP画面になるだけです。
    画面上の黒背景の帯状部分は出るのですが、普段は表示される編集項目などもなくなってしまいます。そこでできるのはログオフだけです。

    またその状態でURL/wp-admin/から再度ログインしようとすると、「このページにアクセスする権限がありません。」と表示されます。
    (一度ログオフすれば、ログインはまたできるようになります)

    その他の情報としては、サイトの閲覧は可能で、とくに崩れている部分などはないですが、問い合わせフォームに書き込んでもメールが届かず、ログイン画面でパスワード変更するためにメールを送ろうとしても送れません。

    ■考えられる原因
    同じ会社で同じプランですが、サーバーの移行を行ないました。
    (ボタンひとつで新しいサーバーに移動できるとの案内があったので、移動しました)

    関係あるかどうか分かりませんが、サーバー移行時にデータコピーに失敗しています。
    ただ、サーバー会社に調べてもらったところ、コピーに失敗したのはdocxファイルなので、今回の異常には関係ないだろうとのことでした。

    テーマやプラグインのアップデートもしていますが、サーバー移行のしばらく前です。


    とりあえず以下の方法は試してみましたが、すべて駄目でした。

    (×)クッキー削除やシークレットモードでのログイン

    (×)一つひとつのプラグインをサーバー管理パネルからリネイム無効化(どれも変化なしで、Welcartの プラグインディレクトリは変更すると「fatal error……」になる)。

    (×)phpMyAdminから新規に管理者ユーザーを作ってみる(新規ユーザーでログインしても同じ)。

    (×)wp-config.phpに「require_once(ABSPATH . ‘wp-settings.php’);」の記述 を入れてみる。

    この他、テーマのリネイム無効化も試したのですが上手くいきませんでした。
    TwentyTwentyフォルダをFTPからアップして、現テーマをリネイムすればTwentyTwentyがテーマになるはずですが、なぜかfatal errorになってしまい切り替わらない状況です)。

    ちなみにfatal errorは以下のような表示になります。

    Fatal error: Uncaught Error: Call to undefined function welcart_basic_is_member_page() in /home/pandapub/panda-publishing.co.jp/public_html/wp-content/themes/welcart_basic-beldad/functions.php:144 Stack trace: #0 /home/pandapub/panda-publishing.co.jp/public_html/wp-includes/class-wp-hook.php(287): wcct_enqueue_styles(”) #1 /home/pandapub/panda-publishing.co.jp/public_html/wp-includes/class-wp-hook.php(311): WP_Hook->apply_filters(NULL, Array) #2 /home/pandapub/panda-publishing.co.jp/public_html/wp-includes/plugin.php(478): WP_Hook->do_action(Array) #3 /home/pandapub/panda-publishing.co.jp/public_html/wp-includes/script-loader.php(2294): do_action(‘wp_enqueue_scri…’) #4 /home/pandapub/panda-publishing.co.jp/public_html/wp-includes/class-wp-hook.php(287): wp_enqueue_scripts(”) #5 /home/pandapub/panda-publishing.co.jp/public_html/wp-includes/class-wp-hook.php(311): WP_Hook->apply_filters(NULL, Array) #6 /home/pandapub/panda-publishing.co.jp/public_html/wp-includes/plugin.php(478): WP_Hook->do_action(Array) #7 /home/panda in /home/pandapub/panda-publishing.co.jp/public_html/wp-content/themes/welcart_basic-beldad/functions.php on line 144
    サイトに重大なエラーがありました。

    子テーマのfunctions.phpに問題があるかと思い、手元のデータとテキスト比較してみたのですが、まったく同じでした。

    にっちもさっちもいかない状況なのですが、もし同じような症状になったことがある方や、対策案が分かる方がいればご教授いただけますとありがたいです。
    よろしくお願いいたします。

    ——————————————-
    WordPress のバージョン:5.4.2
    使用テーマ:親テーマがWelcart_basicで、子テーマがWelcart_baic_beldad(確認できない状態ですが最新だと思います)
    PHP のバージョン:7.3
    MySQLのバージョン:5.7
    サーバー:XServer
    SSLの利用:常時SSL
    ——————————————–

    ヘルプの必要なページ: [リンクを見るにはログイン]

15件の返信を表示中 - 1 - 15件目 (全17件中)
  • こんにちは

    親テーマで定義されている welcart_basic_is_member_page() が見つからないというエラーのようなので、親テーマを再インストールされてはどうでしょうか?

    なお、子テーマは有償テーマのようなのでに子テーマに関することは、このフォーラムではサポートすることができません。専用のフォーラムもあるようですので、そちらで質問された方が的確な回答を得られるかもしれません。

    トピック投稿者 Sadako

    (@sadakoyamamura)

    こんにちわ。
    返信ありがとうございます。

    >親テーマで定義されている welcart_basic_is_member_page() が見つからないというエラーのようなので、親テーマを再インストールされてはどうでしょうか?

    このエラーメッセージはそういう意味なのですね。
    紛らわしかったと思いますが、親テーマをリネイム(無効化)したときに出るエラーではあります。

    不思議なのは、通常、今のテーマをリネイム無効化すると、デフォルトTwentyTwentyに切り替わるはずと聞いたのですが、切り替わらずにこのようなエラーが出てしまいます。

    ご提案とおり、親テーマの再インストールは試してみたいのですが、事前に私の認識が間違っていないか確認させてもらいたいです。

    ・テーマフォルダの親テーマを削除して、あらたに親テーマをFTPでアップすればよいのでしょうか。
    ・とくに親テーマをカスタマイズはしていないのですが、サイトのデータが初期化されることはないと考えてもよいのでしょうか。

    何度も申し訳ないのですが、ご教授いただけますと幸いです。
    よろしくお願いいたします。

    テーマフォルダの親テーマを削除して、あらたに親テーマをFTPでアップすればよいのでしょうか。

    管理画面から再インストール (削除して追加) で問題ないと思います。

    とくに親テーマをカスタマイズはしていないのですが、サイトのデータが初期化されることはないと考えてもよいのでしょうか。

    基本的にはテーマの設定はテーマごとなので、初期化されるようなことはないとは思いますが、例外はあるかもしれません。テーマのマニュアルをご覧ください。作業前にバックアップを取っておくことをお勧めします。

    • この返信は4年、 4ヶ月前にishitakaが編集しました。
    トピック投稿者 Sadako

    (@sadakoyamamura)

    ishitaka 様

    ご返信ありがとうございました。

    FTPにて、親テーマ(Welcart_basic)のフォルダを一度削除し、その後、新しいデータを解凍してアップしてみましたが、fatal-errorが出る症状は変わりませんでした。

    そこで、子テーマ(Welcart_basic-beldad)のフォルダも削除してみました。

    テーマフォルダに残っているテーマがTwentyTwentyのみになっているはずなのですが、サイトを開こうとすると画面が真っ白になり、URL/wp-admin/を開いてみても真っ白という状況になりました。

    (WordPress5.4.2のデフォルトテーマはTwentyTwentyで合っていますよね?)

    これはWordPressのほうが壊れているということでしょうか?

    なお、Welcartの親子テーマを再度アップしたところ、サイトは元通りになりました(管理画面にログインできない症状は同じです)。

    トピック投稿者 Sadako

    (@sadakoyamamura)

    追記です。

    プラグインの中にWelcart_basicのプラグインがあって、プラグインフォルダをリネイムするとこれがfatal errorを引き起こすために、これまでプラグインフォルダごとリネイム無効化することができませんでした。
    (プラグインを一つ一つリネイムしてはみたことはありました)

    Welcartテーマを消したついでに、プラグインフォルダをリネイムしてみましたが、やはり画面が真っ白の状況でした。

    これはある意味、今回の症状はプラグインから起きているわけではないと考えてよいのでしょうか。

    テーマフォルダに残っているテーマがTwentyTwentyのみになっているはずなのですが、サイトを開こうとすると画面が真っ白になり、URL/wp-admin/を開いてみても真っ白という状況になりました。

    これはWordPressのほうが壊れているということでしょうか?

    通常はフロント側ではエラーメッセージが表示されますが、管理画面は開くことができます。

    (WordPress5.4.2のデフォルトテーマはTwentyTwentyで合っていますよね?)

    TwentyTwenty テーマで合っていますが、自動的には切り替わりません(上記のとおり)。

    プラグインのディレクトリをすべてリネーム、デフォルトテーマのみにしても、ログインできないのであれば、あとは、WordPress 本体の更新が失敗した可能性があります。手動で更新してみてはと思います。手動更新に関しては、「WordPress のアップグレード」ページの「手動更新」セクションをご覧ください。上記ページにも明記されていますが、「WordPress のアップグレード/詳細」ページもご覧になっておいてください。

    トピック投稿者 Sadako

    (@sadakoyamamura)

    ishitaka 様

    たびたび質問に回答いただき、ありがとうございます。

    WordPressの手動アップデートをしてみようと思います。

    教えていただいたサポートフォーラムやWiki、その他のホームページで紹介されている方法を確認しまして、一番シンプルなサポートフォーラムのもので試してみようと思います。

    ただ、1点質問があります。

    >7. 新しいバージョンの WordPress の root ディレクトリにある残りのファイルを、既存の WordPress の root ディレクトリにアップロードします。

    7番目の「WordPress の root ディレクトリにある残りのファイル」のrootディレクトリが何を指しているのかがよく分かりません。

    おそらく文脈からしても、WordPressフォルダにある「wp-admin」「wp-content」「wp-includes」以外のファイルのことで、新しいバージョンのそれらを古いものに上書きすればよいのかなとは思うのですが、一応確認させていただけないでしょうか。

    お忙しいところ何度も申し訳ないのですが、教えていただけますと幸いです。

    よろしくお願いいたします。

    rootディレクトリが何を指しているのかがよく分かりません。

    wp-admin、wp-content、wp-includes ディレクトリおよび index.php などのファイルがあるディレクトリのことです。

    おそらく文脈からしても、WordPressフォルダにある「wp-admin」「wp-content」「wp-includes」以外のファイルのことで、新しいバージョンのそれらを古いものに上書きすればよいのかなとは思うのですが、一応確認させていただけないでしょうか。

    wp-includes と wp-admin ディレクトリおよびサブディレクトリとすべての古いファイル (index.php、wp-login.php など) を新しいものに置き換えて下さい。wp-content は置き換えないでください。

    トピック投稿者 Sadako

    (@sadakoyamamura)

    ishitaka 様

    お忙しいなか、回答ありがとうございました。

    ・プラグイン停止(自分の場合は管理画面で停止できないのでリネイム)
    ・wp-includesとwp-adminを削除し、新しいWordPressフォルダの中からアップ
    ・wp-contentのフォルダ内に、新しいwp-contentのフォルダ内データを上書き
    ・wp-contentなどが並んでいるディレクトリに、新しいWordPressの同様のファイルを上書き

    以上の手順でWordPressの手動アップデートをしてみました。

    しかし、
    ・サイトのURLだと、画面真っ白
    ・URL/wp-admin/だと、「このページにアクセスする権限がありません。」
    ・URL//wp-login.phpだと、ログイン画面は出てきますが、ログインしても画面真っ白

    となります。
    プラグインのリネイムを戻しても、同じです。

    なお、Welcartの親子テーマを再アップすると、元通りサイトの閲覧はできますが、やはり管理画面に移動できません。

    更新日時を確認すると、以下4点がWordPressフォルダには入っておらず、
    .htaccess (更新日は7/30)
    .user.ini (更新日は7/30)
    404.html
    default_page.png
    だけが古い状態です。

    あと、打てる対策は何かありますでしょうか。
    もしあれば教えてください。
    何度も申し訳ないのですが、よろしくお願いいたします。

    wp-contentのフォルダ内に、新しいwp-contentのフォルダ内データを上書き

    wp-content は置き換えないでください。置き換えると、テーマへの編集が失われてしまいます。

    あと、打てる対策は何かありますでしょうか。

    XServer ということなので、バックアップがあると思います。症状がでるまえの状態のバックアップより復元されるといいかと思います。
    復元方法に関しては、サーバーのマニュアルをご覧ください。それでも復元方法が分からない場合は専門の方や業者に依頼されたほうが後々のことを考えるといいのかなと・・・

    トピック投稿者 Sadako

    (@sadakoyamamura)

    ishitaka 様

    ご返信ありがとうございます。

    >wp-content は置き換えないでください。置き換えると、テーマへの編集が失われてしまいます。

    フォーラムのマニュアルだと、wp-contentは置き換えずに上書きとあったのですが、いじる必要がなかったでしょうか。
    バックアップはあるので再度入れ替えることは可能ですが、とりあえずテーマを戻してみたときの変化はなかったようなのでそのままにしておきたいと思います。

    >XServer ということなので、バックアップがあると思います。症状がでるまえの状態のバックアップより復元されるといいかと思います。

    XServerの自動バックアップは2週間だと思いますが、サーバー移行後、閲覧自体はできたので異常に気づかず、2週間以上経過してしまいました。
    なので、残念ながら自動バックアップで戻しても意味がないです。

    素人に打てる手はなく、専門家に依頼したほうがいい件は承知しました。

    最後にお伺いしたいのですが、現テーマのデータを削除すると、(データが入っていれば)デフォルトのテーマが自動で立ち上がるという人も多いようです。
    ですが実際には、やはり管理画面で選択しないと立ち上がらないのでしょうか。

    テーマ、プラグインを削除し、WordPressを入れ替えたのに、なぜ症状が続くのかが理解できないです。

    もしデフォルトテーマを管理画面以外から選択する方法があれば教えていただけないでしょうか。

    よろしくお願いいたします。

    現テーマのデータを削除すると、(データが入っていれば)デフォルトのテーマが自動で立ち上がるという人も多いようです。
    ですが実際には、やはり管理画面で選択しないと立ち上がらないのでしょうか。

    デフォルトのテーマが自動で立ち上がることはないと思うのですが、こちらは分かりません。
    テーマのディレクトリ(themes ディレクトリ自身は削除しないでください)のディレクトリ(index.php は削除しないでください)をすべて削除しても、他にエラーがなければ管理画面にはログインできます。

    もしデフォルトテーマを管理画面以外から選択する方法があれば教えていただけないでしょうか。

    データベースを直接変更することで可能(こちらのページを参照)のようですが、操作を間違えるとデータを壊してしまう可能性があるのでおすすめはしません。

    トピック投稿者 Sadako

    (@sadakoyamamura)

    ishitaka 様

    ご回答ありがとうございました。

    テーマがテーマフォルダになくても、普通は管理画面に移動できるということですね。

    そう考えると、やはり私の場合は、管理画面に行くためのファイルが欠けているか、何かがそれを邪魔しているのだと思います。
    (なので、データベースでテーマを設定しても意味がないのでしょう)

    まさに八方塞がりで打つ手がないといった状況ですが、質問に回答いただき、ありがとうございました。

    トピック投稿者 Sadako

    (@sadakoyamamura)

    ishitaka 様

    たびたびすいません。

    半分諦めて、
    URL/wp-admin/からログインしようとすると、「このページにアクセスする権限がありません。」と出ることから検索していたら、

    以下のサイトに
    https://quso.tech/you-dont-have-permission-to-access-this-page/

    wp_optionsテーブルのwp_user_rolesを確認しては?ということがあったので確認したのですが、

    a:2:{s:9:”wc_author”;a:2:{s:4:”name”;s:45:”編集者(マネジ…

    のようにadministratorでなくなっていました。
    (wp_usermetaテーブルのwp_capabilitiesやwp_user_levelは適切でした)

    ひょっとしたらこれが原因なのかもしれません。
    ただ、編集しようとしても実際の内容は以下のように長いので、まあどう変更してよいのか分かりません。

    ————————————————————
    a:2:{s:9:”wc_author”;a:2:{s:4:”name”;s:45:”編集者(マネジメント権限無し)”;s:12:”capabilities”;a:31:{s:17:”moderate_comments”;i:1;s:17:”manage_categories”;i:1;s:12:”manage_links”;i:1;s:12:”upload_files”;i:1;s:15:”unfiltered_html”;i:1;s:10:”edit_posts”;i:1;s:17:”edit_others_posts”;i:1;s:20:”edit_published_posts”;i:1;s:13:”publish_posts”;i:1;s:10:”edit_pages”;i:1;s:4:”read”;i:1;s:7:”level_4″;i:1;s:7:”level_3″;i:1;s:7:”level_2″;i:1;s:7:”level_1″;i:1;s:7:”level_0″;i:1;s:17:”edit_others_pages”;i:1;s:20:”edit_published_pages”;i:1;s:13:”publish_pages”;i:1;s:12:”delete_pages”;i:1;s:19:”delete_others_pages”;i:1;s:22:”delete_published_pages”;i:1;s:12:”delete_posts”;i:1;s:19:”delete_others_posts”;i:1;s:22:”delete_published_posts”;i:1;s:20:”delete_private_posts”;i:1;s:18:”edit_private_posts”;i:1;s:18:”read_private_posts”;i:1;s:20:”delete_private_pages”;i:1;s:18:”edit_private_pages”;i:1;s:18:”read_private_pages”;i:1;}}s:13:”wc_management”;a:2:{s:4:”name”;s:33:”編集者(設定権限無し)”;s:12:”capabilities”;a:32:{s:17:”moderate_comments”;i:1;s:17:”manage_categories”;i:1;s:12:”manage_links”;i:1;s:12:”upload_files”;i:1;s:15:”unfiltered_html”;i:1;s:10:”edit_posts”;i:1;s:17:”edit_others_posts”;i:1;s:20:”edit_published_posts”;i:1;s:13:”publish_posts”;i:1;s:10:”edit_pages”;i:1;s:4:”read”;i:1;s:7:”level_5″;i:1;s:7:”level_4″;i:1;s:7:”level_3″;i:1;s:7:”level_2″;i:1;s:7:”level_1″;i:1;s:7:”level_0″;i:1;s:17:”edit_others_pages”;i:1;s:20:”edit_published_pages”;i:1;s:13:”publish_pages”;i:1;s:12:”delete_pages”;i:1;s:19:”delete_others_pages”;i:1;s:22:”delete_published_pages”;i:1;s:12:”delete_posts”;i:1;s:19:”delete_others_posts”;i:1;s:22:”delete_published_posts”;i:1;s:20:”delete_private_posts”;i:1;s:18:”edit_private_posts”;i:1;s:18:”read_private_posts”;i:1;s:20:”delete_private_pages”;i:1;s:18:”edit_private_pages”;i:1;s:18:”read_private_pages”;i:1;}}}
    ————————————————————

    一応、wp_user_rolesについてフォーラムや他サイトを見たのですが、情報の精度がよく分かりません。

    毎回頼って申し訳ないのですが、もし「wp_user_roles」の管理者としての設定方法をご存知であれば、信頼できる解説をしているページを教えていただけないでしょうか。

    よろしくお願いいたします。

    wp_user_roles の中身については分かりません。標準のユーザーロールを追加するのであれば、下記コードできるかもしれません。

    if ( !function_exists( 'populate_roles' ) ) {
      require_once( ABSPATH . 'wp-admin/includes/schema.php' );
    }
    populate_roles();

    参考ページ: デフォルトの役割と機能をリセットする

15件の返信を表示中 - 1 - 15件目 (全17件中)
  • トピック「管理画面にログインできず、TOP画面になってしまう」には新たに返信することはできません。