「WordPressサイト制作を簡単にする国産サイトビルダー weluka:ウェルカ」テクニカルブログ

WordPressプラグイン「Search Everything」の不具合について

弊社の調査にてWordPressプラグイン「Search Everything」に不具合があることがわかりましたので、不具合の内容とその解決方法を説明します。 Search Everythingをご使用の方はご参照ください。


※welukaに関係なく起こる不具合です。

不具合の内容

Search EverythingをWordPressにインストールして、任意の設定をあとに投稿ページなどを新規に投稿すると画像のように「このページは動作していません」と表示される(500エラーが出る)、
ことがわかりました。
(chromeでの表示なのでMicrosoft EdgeやFirefoxは他の表示になります。 )
ただ、一度WordPress管理画面の投稿ページに戻ると投稿はされていることは確認できます。

解決方法

不具合が起こっているファイルを書き換えることで解決します。
すでにサーバー上のWordPressにてSerch Everytihngをインストールしている場合、FTPソフトを使って不具合が起こっているファイルをダウンロードしてください。
不具合が起こっているファイルの場所は、WordPressのフォルダの中の

wp-content/plugins/search-everything

の中のsearch-everything.phpをダウンロードしてください。これを書き換えます。

書き換える場所は、ファイル最下部、913行目からすべてです。 テキストエディタなどでファイルを開き、

function se_post_publish_ping($post_id) { ~省略~  'se_post_publish_ping');
913行目にある以上の部分からすべてを以下の
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');
に書き換えて同じ場所にアップロードして上書きすると解決します。

このコードはgithubにて公開されているものですのでわからない場合はgithubのコードすべてをコピーして保存し、アップロードを行っても構いません。