質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.85%

WordPress 新しい編集画面で公開・更新できない どこをクリックしても動かない

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,610

jcas

score 6

前提・実現したいこと

wordpress5.0.3を使用していて、Gutenbergはインストールせずに新しい編集画面を使っておりました。
通常通り使用できていた中、突然公開・更新できない状況になりました。
Classic Editorを有効にして、旧編集画面にもどせば、これまで通り公開・更新できます。

さらに、現状、サイトのどこ(メニューや記事を読むなど)のリンクをクリックしても、反応しません。

しかし、サイトを複数人で更新作業している関係で、新しい編集画面で続けていきたいです。

Web環境はサーバー・DBともに外部に管理を依頼していますが、FTPサービスやphpmyadminでファイルやDBの操作は可能です。

新しい編集画面での投稿記事の公開・更新を可能にしたいです。
何卒よろしくお願いいたします。

発生している問題・エラーメッセージ

(更新時・プレビュー)更新に失敗しました
(公開時)公開に失敗しました

サイト内のリンクが機能していない

追記01・デバックログでのエラーメッセージ

[16-Jan-2019 09:51:33 UTC] PHP Notice: Undefined variable: args in /○○○○/wp/wp-content/themes/unit/content.php on line 20

試したこと(再編集)

クイック編集では問題ありません。
wordpressのダウングレードで4.9.8にしたあと、再度5.0.3にアップデートしましたが、現状変わらず。
色々な参考サイトさんを拝見していますが、ほとんどが旧編集画面にもどして解決としているため、今回は実践できない状況です。
問題が発生する前のテーマやプラグインのバックアップと入れ替えても変化がありません。

試したことの追記

同じサーバ上にある、別のWordpressサイトで、同じテーマUnitを使用してみたところ、問題なく表示・更新されます。
しかし、URL変更(ディレクトリの非表示)をして、現在問題の起こっているサイトと同じURLになったとたん、更新・公開のみできなくなりました。(リンクは機能しております)

こちらをヒントに、不具合の起きているサイトもURL変更でディレクトリ表示に戻したところ、新しい編集画面での更新や、リンクの機能も復活しました。

補足情報(FW/ツールのバージョンなど)

使用テーマ:Unit(founderの子テーマ)
phpバージョン:5.6.30

追記01・デバックログに記述されていた箇所のソース

17 <div class="tagbox">
18                <br>
19                <h2 class="widget-title">キーワードタグ</h2>        
20        <?php wp_tag_cloud( $args ); ?>
21 </div>

追記02・使用中のプラグイン

Classic Editor(※最終的にこちらは使用しない方針です)
Easy FancyBox
Google Tag Manager for Wordpress
Gutenberg(※こちらはあってもなくても、新しい編集画面で今後更新できれば問題解決です)
Really Simple SSL
Scheduled Post Trigger
WP Multibyte Patch

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • CHERRY

    2019/02/21 13:49

    WordPress 5.0.3-ja に Unit ( https://ja.wordpress.org/themes/unit/ ) を入れただけの状態では、問題ないですね。

    お使いのプラグインとの干渉が疑わしそうです。

    キャンセル

  • jcas

    2019/02/21 13:55

    前回と続けて、ありがとうございます!

    自分もその可能性が高いと思います。
    これからデバックログを抽出するところですが、
    先ほどまで、エラーになる前のバックアップから、プラグインのディレクトリを入れ替えたりしていました。
    しかし変化が見られないので、テンプレトートフォルダも戻さないといけないかな、と考えております・・・。

    キャンセル

  • CHERRY

    2019/02/21 14:06

    後半が切れてました。

    おつかいのプラグインを質問に追記していただくことは可能ですか?

    キャンセル

回答 2

+1

私が管理するサイトでは一度もエラーが出たことがないので参考程度の回答となります。

Gutenbergは外部との接続をしつつ編集や公開をする部分がありますので、使用中や新しく追加したプラグインとの競合か、サーバー側の設定の問題かと思われます。

対応としては
1.最近更新や追加をしたプラグインを止めてみる

2.テーマを一旦別のものにしてみる

3.サーバーのWAF設定(サーバーによっては国外IPアドレスからのアクセス制限などと書かれている場合もあります)を無効にしてみる

で解決できるかもしれません

-------回答追記--------
githubのサイトで興味深い解決方法が掲載されていました。

https://github.com/WordPress/gutenberg/issues/10839

これによると、パーマリンクのリフレッシュをすることで解決できたようです。

管理画面から「設定」→「パーマリンク設定」を開き、そのまま何も変更しないで更新するとリフレッシュされます。

これで解決できるか分かりませんが一度試してみてはいかがでしょうか??

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/02/21 14:06

    該当のcontent.php ソースを質問に追記いたします。
    キーワードタグの部分なのですが、確かに、タグクラウドも機能していないので、ページのリンクが機能していないこととも関係しているのでしょうか・・・。

    キャンセル

  • 2019/02/21 15:10

    Noticeですからこの問題とは関係ないでしょう。

    プラグインで怪しいのは
    Really Simple SSL
    Scheduled Post Trigger
    あたりでしょうか。

    できなくなったのはSSL化した後・・などというタイミングではないですか??違うならReally Simple SSLは除外してもよさそうかと思いますが・・・。

    別のテーマではありますが、Scheduled Post Trigger使ってみたけど現象は出ないですね。

    キャンセル

  • 2019/02/21 15:26

    >できなくなったのはSSL化した後・・などというタイミングではないですか??違うならReally Simple SSLは除外してもよさそうかと思いますが・・・。

    タイミング的には、
    個別Java読み込みフォームをfunctions.phpに書き込んだあと、
    その記述を消す前に、Simple Custom CSS&JSというプラグインを入れてしまった後です。

    今は個別Java読み込みフォームの記述もプラグインも削除済みです。

    サイトはSSL化していないのいけないので、Really Simple SSLに代わる、サイトのSSL化できるものがあれば、ぜひ検討したいです。

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

    キャンセル

check解決した方法

0

デバックログのエラーで新たにタグクラウドの問題や、一部のカテゴリーが機能していないことが発覚しましたが、ひとまず、新たしい編集画面での更新・サイト内リンクが復活してきましたので、こちらの質問はとじさせていただきます。
対応してくださった回答者様方ありがとうございました。

自己解決した方法ですが、
質問にもありますとおり、URL変更をディレクトリの表示有に戻すと問題が改善したことから、
ドメイン直下にある.htaccessに問題があるのではと検討をつけました。

下記が、変更前と変更後の記述です。
根本的な原因はわかりませんでしたが、以前の記述が良くなかった或いは、書いた覚えのないものがあったので、なにかしら更新をしているうちにWPが吐き出した記述があったかもしれません。

.htaccessの知識はそこまでありませんので、変更後の記述でもよろしくないものがあるかと思います。さらにご指摘いただけますと幸いです。

変更前

<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
Options -Indexes
AuthUserFile /○○○○/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user 
order deny,allow

Action php56-script /cgi-bin/php56
AddHandler php56-script .php



RewriteEngine On
RewriteBase /wp/
RewriteCond %{HTTP_HOST} ^www\.○○○○/wp
RewriteRule ^(.*)$ https://○○○○/$1 [R=301,L]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# URL から index.html と index.php を無くす mod_rewriteモジュール

RewriteEngine on

# アクセスしたファイル名が index.html または index.php かどうかをチェック
RewriteCond %{REQUEST_FILENAME} index\.(html|php)

# ルートディレクトリ用
RewriteRule ^index\.(html|php)$ / [R=301,L]

# サブディレクトリ用
RewriteRule ^(.*)/index\.(html|php)$ /$1/ [R=301,L]

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

変更後

<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
Options -Indexes
AuthUserFile /○○○○/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user 
order deny,allow

Action php56-script /cgi-bin/php56
AddHandler php56-script .php

RewriteEngine On
RewriteBase /wp/
RewriteCond %{HTTP_HOST} ^www\.○○○○/wp
RewriteRule ^(.*)$ https://○○○○/$1 [R=301,L]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.85%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる