جستجو ها در سایت ها به ندرت پیش می آید که نباشد.مخصوصا سایت هایی که هر روز مطالب جدید در سایت دارند.جستجو به کاربران سایت ها کمک می کند تا بتوانند به راحتی مطالب مورد نظر  خود را در میان انبوهی از مطالب سایت پیدا کنند و تسریع در وقت آنها بشود.سایت های وردپرسی نیز از این قائده جدا نبوده اند به طوری که وردپرس این کار را برای مدیران و توسعه دهندگان وردپرس آسان کرده است و صفحه search.php را  برای این منظور فراهم کرده است.با آموزش نمایش جست و جو حرفه ای در وردپرس می توان یک فرم جستجوی پیشرفته ساخت و با آموزش وردپرس ساخت فرم جست و جو برای وردپرس می توان فرم مربوط به جستجو را مشاهده کرد.وردپرس به صورت پیشفرض برای جستجو میان برگه ها و پست ها و پست های سفارشی می گردد .حال می دانیم که از صفحات برای تعیین انواع برگه استفاده می شود و گاهی برگه ها ممکن است برای تنظیمات برخی از بخش های سایت باشند که مدیران نخواهند آن ها را  در نتایج  جستجو نمایش بدهند و یا بخواهند در جستجو ، فقط پست ها نمایش داده بشود.برای این کار می  توان از فیلتر pre_get_posts استفاده کرد که بعدا به آن می پردازیم .حال فرض شود که بخواهیم جستجو فقط برای پست ها باشد کافیست کد زیر را در functions.php قرار دهیم.

 

 

function SearchFilter($query) {
if ($query->is_search) {
$query->set('post_type', 'post');
}
return $query;
}

add_filter('pre_get_posts','SearchFilter');

با این کار ما  نوع پستی post را انتخاب می کنیم .می توان نوع های پستی دیگر را نیز قرار داد که کد زیر را می توان 

$query->set('post_type', 'post');

به کد زیر تغییر داد


 $query->set('post_type', array( 'post', 'movie' ) );

که نوع پستی movie و post مورد جستجو قرار می گیرد و بقیه نوع های پستی (post types ) مورد جستجو قرار نمی گیرند.

منبع :‌ مردان وردپرس

تاریخ آخرین بروزرسانی : ۲۸ شهریور ۱۳۹۵
میلاد میلادی

باور هایت را که پرورش دهی به هرچیزی دست خواهی یافت.

ارسال نظر

آدرس الکترونیکی شما نمایش داده نمی شود *

Time limit is exhausted. Please reload CAPTCHA.