WordPress – Sadece Yazı İsminde Arama Yapmak

Sitelerimizde yayınladığımız makaleler içinde tonla kelime geçmekte, bazen örnek vermek için bile konuyla alakasız kelimeler kullanıyoruz.

Sitemizde arama yapıldığında bu alakasız kelime makale içinde yer aldığı için arama sonucunda bu makale de kendine yer ediniyor ve arama sonuçlarının verimliliğini düşürüyor. Bende arama verimliliğini arttırmak amacıyla sadece başlıklarda arama yapmaya karar verdim. Bunun için Türkçe bir kaynak bulamadım, İngilizce kaynaklar da bu düşündüğüm fikrin yapımı yer almakta, bende ulaşım kolaylığı sağlamak adına hem de bilmeyenler faydalanır diye bu makaleyi yazıyorum.

İşin açıkçası sadece yazı isminde arama yapma özelliğini wordpress için yayınladığım incisözlük teması için kullandım. Daha fazla uzatmadan gerekli anlatımı yapayım.

Tema klasörünüzde yer alan functions.php dosyasına aşağıda verdiğim fonksiyonu ekleyiniz.

/**
 * CakirEfekan.Com | Yalnızca Başlıklarda Arama Yapma Fonksiyonu
 */
function __CakirEfekan_Baslik_Arama( $search, &$wp_query )
{
 global $wpdb;
 if(empty($search)) {
 return $search; 
 }
 $q = $wp_query->query_vars;
 $n = !empty($q['exact']) ? '' : '%';
 $search =
 $searchand = '';
 foreach ((array)$q['search_terms'] as $term) {
 $term = esc_sql($wpdb->esc_like($term));
 $search .= "{$searchand}($wpdb->posts.post_title LIKE '{$n}{$term}{$n}')";
 $searchand = ' AND ';
 }
 if (!empty($search)) {
 $search = " AND ({$search}) ";
 if (!is_user_logged_in())
 $search .= " AND ($wpdb->posts.post_password = '') ";
 }
 return $search;
}
add_filter('posts_search', '__CakirEfekan_Baslik_Arama', 500, 2);

Bu fonksiyonu ekledik ve bitti. Evet bu kadar basit bu özelliği aktif etmek. Yaptığınız aramalarda artık sadece başlıklarda geçen kelimeler eşleşecek.

Örneğin bu fonksiyonu ben bu sitemde kullanmıyorum ve sitemde yapacağınız incisözlük aramasında bu yazıya denk geleceksiniz. Oysa ki tamamen alakasız bir makale.

Bu tür benim ulaşımının kolay olmadığını düşündüğüm fikirleri ve olayları sitemde yayınlamaya devam edeceğim. Tekrar görüşmek dileğiyle…

Yorumlar

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir