サイト内検索の幅を広げてくれる、便利なプラグイン『Search Everything』ですが、新規投稿の公開時にエラーが出ていました。投稿はされるので問題無いのですが、何となく気持ち悪いですよね。
干渉エラーであれば削除ですが、検索機能はかなり使うので何とかして使いたいのです。
技術的エラーはメールで知らせてくれる
新規記事を書いて『公開』ボタンを押すと、上記のようなエラーが出ました。
焦りますが、公開前に保存する癖が身に付いているので大丈夫なはず。
ブラウザで一つ前に戻ると『更新』ボタンになっているので、投稿はされています。
サイトで技術的な問題が発生しています 。
こんにちは!
WordPress 5.2から、サイトでプラグインやテーマが致命的なエラーを発生させた場合にそれを検知してこの自動メールでお知らせする機能が追加されました。
今回の場合、WordPress がプラグイン Search Everything でエラーを捉えました。
まずはじめに、ご自分のサイトを開き、表示上の問題がないか確認してください。次に、エラーが発生したページを開き、表示上の問題がないか確認してください。
エラーはご丁寧に、メールで知らせてくれます。
また、不具合の原因の場所まで記載がありました。
『.php』の置き換え
注意
とにかく、何をするにも、まずはバックアップを取ります。
今回のエラーは、プラグインの『.php』の記述を書き換えることで解決します。
よって、FTPソフトを使用します。
public_html/wp-content/plugins/search-everything/search-everything.php
上記まで辿り着いたら『search-everything.php』のコピーを取りましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
function se_post_publish_ping($post_id) { //should happen only on first publish $status = false; if( !empty( $_POST['post_status'] ) && ( $_POST['post_status'] == 'publish' ) && ( $_POST['original_post_status'] != 'publish' ) ) { $permalink = get_permalink($post_id); $zemanta_response = se_api(array( 'method' => 'zemanta.post_published_ping', 'current_url' => $permalink, 'post_url' => $permalink, 'post_rid' => '', 'interface' => 'wordpress-se', 'deployment' => 'search-everything', 'format' => 'json' )); $response = json_decode($zemanta_response['body']); if (isset($response->status) && !is_wp_error($zemanta_response)) { $status = $response->status; } } return $status; } add_action( 'publish_post', 'se_post_publish_ping' ); |
910行目以降辺りに、上記の記載があります。
そしてこの部分を、丸っと削除します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
function se_post_publish_ping($post_id) { //should happen only on first publish $status = false; if( ( $_POST['post_status'] == 'publish' ) && ( $_POST['original_post_status'] != 'publish' ) ) { $permalink = get_permalink($post_id); $zemanta_response = se_api(array( 'method' => 'zemanta.post_published_ping', 'current_url' => $permalink, 'post_url' => $permalink, 'post_rid' => '', 'interface' => 'wordpress-se', 'deployment' => 'search-everything', 'format' => 'json' )); if (!is_wp_error($zemanta_response)) { $status = json_decode($zemanta_response['body'])->status; } } return $status; } add_action('publish_post', 'se_post_publish_ping'); |
続いて上記のコードをコピーし、削除した部分へ置き換えて下さい。
あとは上書き保存で、データをアップロードします。
ブログ公開時に、エラー表示が出なければ成功です。