本ブログの右ペインにある「最近の検索キーワード」(Search MeterプラグインのRecent Searchesウィジェット)のリンクが正しく機能してなかったので、アドホックな修正を入れてみた。
%cd wp-content/plugins/search-meter/ %diff search-meter.php search-meter.org.php 137,143c137,143 < // if ($wp_rewrite->using_permalinks()) { < // $structure = $wp_rewrite->get_search_permastruct(); < // if (strpos($structure, '%search%') !== false) { < // $relative_url = str_replace('%search%', rawurlencode($term), $structure); < // } < // } < // if ( ! $relative_url) { --- > if ($wp_rewrite->using_permalinks()) { > $structure = $wp_rewrite->get_search_permastruct(); > if (strpos($structure, '%search%') !== false) { > $relative_url = str_replace('%search%', rawurlencode($term), $structure); > } > } > if ( ! $relative_url) { 145c145 < // } --- > }
パーマリンクの形式がうまく取れてない感じなんだけど、他のプラグインとの絡みなのか、データ移行時にうまくいってないのかは不明。
追記:
問い合わせがあったので、追記。上記リストはdiffコマンドの実行結果。新リストの137から143行目が旧リストの137から143行目に相当し、「>」で始まる行が新リストの内容、「<」で始まる行が旧リストの内容。また新リスト、および、旧リストの145行目も同様に変更があるという表示。
結局何をしているかというと、この部分でパーマリンク形式を判断して、リンクのURLを変更しているようなのだが、「検索結果のパーマリンク」は指定してないはずなのに取得できてしまう。その結果生成されたURLをクリックしても検索ページに飛べずエラーになってしまう。しょうがないので、判断文をコメントアウトして、強制的に「http://example.jp/?s=検索文字列」の標準形式で出力するように変更している、と。
たぶん正対処は「検索結果のパーマリンク」指定を修正して、かつ、それを設定している部分を特定して変更する、なんだろうけどそこまで時間がなかったので、アドホックに出力時で対応、ということです。