Bir WordPress blogunda arama yaparken, sonuçlarda yalnızca bir öğe elde ettiğiniz zamanlar olur. Sitenizin ne kadar organize olduğuna bağlı olarak, bu kullanıcının zaten aradığı öğe olmalıdır. Kullanıcılarımızdan biri, arama sorgusu yalnızca bir eşleşme döndürürse gönderiye yönlendirme yapmanın bir yolu olup olmadığını sordu. Bu makalede, arama sorgusu yalnızca bir eşleşme döndürdüğünde kullanıcıları gönderiye nasıl yönlendireceğinizi göstereceğiz.
Tek yapmanız gereken temanızın functions.php dosyasını açmak ve aşağıdaki kod parçasını yapıştırmak.
add_action('template_redirect', 'one_match_redirect');
function one_match_redirect() {
if (is_search()) {
global $wp_query;
if ($wp_query->post_count == 1) {
wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
}
}
}
Şimdi, bazı kullanıcıların bu işlevselliği beklemeyeceğini unutmamalısınız. Bu yüzden onları korkutabilir.

Casey Lessard
Benim için çalıştı. WordPress kullanan yerel bir arama motoru çalıştırıyorum ve bir süredir bu çözümü bulmaya çalışıyordum. Tam olarak tarif edildiği gibi çalışıyor. Çok teşekkür ederim!
Eric
Birisi belirli bir ifadeyi aradığında, tanımlayabileceğim bir URL'ye yönlendirecek şekilde bir easter egg'e yönlendirmesini istiyorum, örneğin biri "Ölü insanları görüyorum" diye aradığında.
Nebulas Web Sitesi Tasarımı
Bu kod parçası için teşekkürler, müşterimi çok mutlu etti ve bunun yapılabileceğini düşünmüyordum. Ancak bizim için çalışmıyor, Relevanssi arama eklentisini kullanıyoruz, bununla çalışmalı mı?
carlos
Arama sorgusunun döndürdüğü gönderi sayısından bağımsız olarak herhangi bir arama sorgusunu en alakalı gönderiye nasıl yönlendirebilirim? Bunu yapabilmeyi gerçekten isterim.
Yayın Kadrosu
Yukarıdaki koddan if koşulunu kaldırın, işe yaramalı.
Yönetici
CalebZahnd
Bu kullanışlı. Teşekkürler!