وردپرس: کد فیلتر نتایج جستجو با پست تایپ سفارشی (Post Type)
کد تخفیف در جریان devme1397 %10 تا آخر پاییز97

در وردپرس، به طور پیش فرض زمانی که کلمه ای در سایت جستجو شود، نتایج جستجو از بین تمامی پست تایپ ها، برگه ها و مطالب معمولی موجود خواهند بود. گاهی اوقات برخی از مطالب پست تایپ های سفارشی ایجاد شده توسط قالب یا افزونه ها، شامل جستجو نمی شوند .

برای حل این مشکل کافیست کد زیر را در فایل functions.php قالبتان قرار دهید:

function devme_search_posts_filter( $query ){ 
  if ($query->is_search){ 
  $query->set('post_type',array('post','movies', 'tvshows', 'pages')); } 
  return $query; 
} 
add_filter('pre_get_posts','devme_search_posts_filter');

تنظیمات:

  • در خط 3 بجای movies و tvshows می توانید پست تایپ های سفارشی مورد نظرتان را اضافه کنید.

اگر تمایل داشته باشید برگه ها را از نتایج جستجو مستثنی کنید، می توانید در کد بالا پست تایپ pages را حذف کنید. مثال:

function devme_search_posts_filter( $query ){ 
  if ($query->is_search){ 
  $query->set('post_type',array('post','movies', 'tvshows')); } 
  return $query; 
} 
add_filter('pre_get_posts','devme_search_posts_filter');

در این صورت در نتایج جستجو، برگه ها نمایش داده نخواهند شد.

هنوز دیدگاهی ارسال نشده! نظر شما چیست؟

دیدگاه شما درباره این صفحه چیست؟