これはalready asked by User Bradでしたが、彼は興味を失ったようです。そのプラグインがあることはわかっています(たとえばCurated Search)が、あまりにも多くのページにこれらのいずれかを使用するためのアンカーが多すぎます。 検索クエリ=スラッグの場合は、ページ
のは、私は2つのページで www.homepage.com/catsと www.homepage.com/dogsをWP-ページがあるとしましょう。 www.homepage.com/catsには2つのアンカーがあります www.homepage.com/cats#miceおよび www.homepage.com/cats#birds誰かがwww.homepage.com/cats#miceに「猫#マウス」を検索する場合、私は、誰かがwww.homepage.com/catsに「猫」を検索した場合にリダイレクトしたいとそうです。
私はかなり長い間これを耳にしていましたが、私はphp-noobですので、うまくいきません。これまでに私が得たことは次のとおりです。たぶんそれは完全にばかげているかもしれない、多分私はコードの1行が欠けている。
<?php
add_action ('template_redirect', 'one_match_redirect');
function one_match_redirect() {
if (is_search()) {
$query = get_search_query();
$url = get_home_url($blog_id = null, $path = $query, $scheme = null);
if (is_array(@get_headers($url))) {
wp_redirect ($url, 303);
}
else {
new WP_Query ('s=$query');
}
}
}
?>
リダイレクトは機能しますが、検索時など。 "lalala"については、www.homepage.com/lalala の代わりに、の代わりにに再接続するだけです。 私は何が間違っていますか? ご協力いただければ幸いです。
明確にする:もちろん、誰も検索しませんが、少なくとも私のページには、作業を行います"cats#mice"のようなもののために。私は単に特定のクエリを再フォーマットするいくつかのpreg_replace-operationsを省略しましたが、これは私の問題とは関係ありません。 –