درود بر همه شما عزیزان. حتما دیدید که وقتی تو فرم جستجوی پیشفرض وردپرس، جستجو را انجام میدهیم میبینیم که همه برگه ها ، همه نوشته ها را نشان میدهد که مثلا برخی برگه ها یا نوشته تصویر شاخص نداشته باشند ، برخی از عناوین مطالب سایتتان نمایش داده نشود و کاربران سایتتان ان را نبینند یا دلایل دیگر… با این وجود قصد دارم امروز نحوه مخفی سازی یک دسته بندی یا برگه ها از نتیجه جستجوی وردپرس را به شما اموزش دهم. همراه ما باشید.
مخفی سازی یک دسته بندی یا برگه ها از نتیجه جستجوی وردپرس
در این آموزش ما قطعه کدی ارائه خواهیم داد تا توسط آن بتوانید این قابلیت را بدون استفاده از افزونه روی وب سایتتان راه اندازی کنید. کافی است این کد رو در functions.php قالب خود قرار دهید تا تغییراتی که مد نظراون است اعمال شود.
آموزش حذف برگه ها از نتایج جستجو :
//Exclude pages from WordPress Search if (!is_admin()) { function wpb_search_filter($query) { if ($query->is_search) { $query->set('post_type', 'post'); } return $query; } add_filter('pre_get_posts','wpb_search_filter'); }
در این کد شما میتوانید به جای post در post_type سایر پست تایپ های خود را نیز نمایش دهید ، مثلا اگر به جای post شما page را قرار دهید تنها صفحات را در نتیجه جستجو نمایش خواهد داد. اگر میخواهید سایر پست تایپ ها مانند محصولات ووکامرس ، نمونه کار ها و… را در سایت نمایش یا مخفی کنید از این روش میتوانید استفاده نمایید.
بطور مثال اگر میخواهید محصولات تنها در نتیجه جستجو نمایش داده شود از این کد را قرار دهید:
//Exclude pages from WordPress Search if (!is_admin()) { function wpb_search_filter($query) { if ($query->is_search) { $query->set('post_type', 'product'); } return $query; } add_filter('pre_get_posts','wpb_search_filter'); }
آموزش حذف یک دسته بندی خاص از نتایج جستجو :
اگر میخواهید که در نتایج جستجوی سایت مطالب یک دسته بندی خاص نمایش داده نشود از کدی که در زیر به شما معرفی خواهیم کرد میتوانید استفاده کنید ، برای مثال میخواهید مطالب دسته بندی A نمایش داده نشده و سایر دسته بندی ها نمایش داده شود. برای اینکار شما باید ID دسته بندی را از قسمت نوشته ها / دسته ها استخراج کرده و در قسمت -.$cat_id); آی دی دسته بندی را وارد کنید:
function exclude_category_from_search($query) { if ($query->is_search) { $cat_id = get_cat_ID('politics'); $query->set('cat', '-.$cat_id);' } return $query; } add_filter('pre_get_posts','exclude_category_from_search');
برای مثال اگر میخواهید مطالب دسته بندی A با آی دی ۳۴۹۴ نمایش داده نشود در خط ۴ کد بالا ، کد زیر را وارد کنید:
$query->set('cat', '-3494');
حال با استفاده از کد بالا توانستیم مطالب دسته بندی با ID:3494 در نتایج جستجوی سایت نمایش ندهیم.
بنابراین با استفاده از روش گفته شده نحوه مخفی سازی یک دسته بندی یا برگه ها از نتیجه جستجوی وردپرس را اموختید. امیدوارم برایتان مفید باشد. موفق و سربلند باشید.
سلام
این کار (مخفی سازی یک دسته) با پلاگین هم انجام میشه؟ کد نویسی سخته یکم برای ما تازه کارها
سلام.
از افزونه زیر استفاده کنید
https://wordpress.org/plugins/search-exclude/