ثبت نام لاتاری 2022 آموزش ثبت نام لاتاری گرین کارت آمریکا 2022 لاتاری

آموزش جستجو مطالب بر اساس فیلتر در وردپرس

 

خب اگه بخواهیم سطحی نگاه کنیم وردپرس در سایت امکان دسته بندی و برچسب گذاری مطالب رو به شما میده و این قابلیت موجب میشه که دسترسی و کنترل بیشتری روی مطالبتون داشته باشید و هرکس به راحتی بتونه به مطلبی که میخواد دسترسی داشته باشه.

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

حالا فرقی نداره که این مطالب تو دسته‌بندی مختلف یا محصول و … باشه پس زمانی زیادی رو از کاربر ما میگیره تا کاربر بیاد و مطلبی رو که دنبالش میگرده پیدا کنه. تو این آموزش از مسترآموز می خوایم افزونه جستجو مطالب بر اساس دسته بندی و برچسب در وردپرس رو به شما معرفی کنیم که با این افزونه می تونید جستجو وردپرس سایت خودتون رو متحول تر کرده و امکان جستجوی کلمه مورد نظر رو در یک دسته‌بندی، برچسب، پست تایپ و تاریخ خاص فراهم کنید تا کاربر ها تو سایتتون جستجو کردند بین همه مطالب دنبال کلمه مورد نظرشون نباشن و فقط تو دسته بندی و برچسب یا تاریخ نوشته می تونن دنبال مطلب خودشون بگردن، خیلی راحت …

چرا اجازه فیلتر کردن نوشته ها و مطالب رو به کاربران بدیم ؟

برای پیدا کردن عنوان و مطالب، نوشته ها در وردپرس بر اساس بر چسب ها و دسته بندی ها مرتب و فیلتر میشن که کار رو برای کاربران راحت تر کرده.
که با این حال فقط میتونن یک نوع پست تایپ رو ببینن چون کاربران فقط میتونن یک دسته بندی، برچسب یا صفحه آرشیو رو در لحظه ببینن. اما شاید تمایل داشته باشید که کاربرتون در سایت بتونه تعدادی دسته بندی و برچسب رو به صورت جستجوی با فیلتر در وردپرس پیدا کنه! حالا چجوری اجازه فیلتر کردن و مشاهده چندین نوشته و صفحه رو به صورت همزمان با جستجو در وردپرس به کاربرمون بدیم؟

افزونه های خوبی که برای جستجوی پیشرفته می تونیم استفاده کنیم :

1.  افزونه SearchWP

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

2.  افزونه Ajax WP Query Search Filter

با استفاده از دسته بندی، برچسب یا هر طبقه بندی دیگر اگه بخواید محتوا و پستتون رو مرتب کنید این افزونه ی جستجو، کمک بزرگی میتونه بهتون بکنه تا نتایج جستجو برای شما محدود تر و کمتر شه. همچنیناگه میخواید جستجو گر خودتون رو به بخش هایی محدود کنید و با این محدودیت به کاربر امکان جستجوی بهتر و موفق رو بدید می تونید از افزونه ی “Ajax WP Query Search Filter” استفاده کنید.

3. افزونه Swiftype Search

افزونه Swiftype Search هم مثل افزونه قبلی، با دو ورژن رایگان و پرمیوم (یعنی با پرداخت پول از امکانات بیشتر اون برنامه استفاده کنیم) ارائه میشه که میتونه به جای فرم پیش فرض وردپرس اسفاده شه. مهم ترین علتی که باعث می شه ما از این فرم ها به جای فرم پیش فرض وردپرس استفاده کنیم و اون رو پیشنهاد کنیم، سرعت بالای این فرم ها در جست و جو بین مطالب سایت هست این افزونه جست و جوی هر کاربر مورد نظر رو ذخیره می کنه و در جست وجو های بعدی تاریخچه ای رو به فرد نشون میده و بهشون پیشنهاد می کنه.

4. افزونه Search by Category

جست و جو بر اساس دسته بندی های موجود در سایت یک قابلیت مجزا هست که میتونه به جست و جوی پیش فرض وردپرس اضافه شه. بعد از نصب افزونه Search by Category، یه منوی کشویی به جست وجوی سایت شما اضافه میشه که کاربران میتونن با استفاده از اون، به راحتی بین دسته بندی های مد نظرشون سرچ کنن.

و همچنین داخل تنظیمات خود افزونه می تونید کاربران را به یک دسته بندی خاص محدود کنید و یا این که تمام دسته بندی های سایت رو در اختیارشون بزارین یا اینکه می تونید این منوی کشویی رو به صورت جداگونه داخل ساید بار سایت یزارین.

5. افزونه Highlight Search Terms

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

6. افزونه Create an Advanced Search Form For Custom Post Types

و در آخر افزونه Create an Advanced Search Form For Custom Post Types به شما امکان ایجاد انواع مختلف محتوا رو میده، مثلا در WPBeginner انواع مختلف پست سفارشی برای بخش تخفیف ایجاد شده و بسیاری از سایت های وردپرس انواع پست سفارشی برای محصولات و… دارن.

جستجو مطالب و نوشته بر اساس برچسب در وردپرس با افزونه کاربردی Search & Filter

افزونه جستجو مطالب بر اساس دسته بندی و برچسب که میخوام معرفیش کنم با نام Search & Filter در وردپرس ثبت شده و تا الان تونسته بیشتر از 20 هزار نصب فعال داشته باشه و امتیاز 4.8 رو برای خودش کسب بکنه که با استفاده از این افزونه می تونید امکان فیلتر مطالب بر اساس دسته‌بندی، برچسب، تاریخ نوشته‌ ها و نوع نوشته در حالت برگه، محصول رو برای کاربرتون فراهم کنید.

بعد از اینکه افزونه نصب و فعال سازی شد در سایتتون مثل تصویر زیر یک منویی با نام Search & Filter در پیشخوان سایت وردپرسی شما اضافه میشه که با کلیک روی این منو می تونید به صفحه تنظیمات افزونه برید و راهنمای استفاده از اون رو ببینید.

 

 

همونجوری که می بینید تو صفحه این افزونه تنظیماتی وجود نداره و شما فقط با استفاده از کدی که در این صفحه راهنما وجود داره می تونید از این افزونه استفاده کنید و امکان جستجو بر اساس دسته بندی و برچسب در وردپرس رو بتونید فراهم کنید. برای استفاده از افزونه هم باید کد دلخواه رو در نوشته، برگه، ابزارک و یا هر یک از فایل‌ قالب قرار بدین تا جستجوی پیشرفته در وردپرس در مکان مورد نظر شما نمایش داده بشه و امکان جستجو در وردپرس بر اساس فیلتر مطالب امکان پذیر باشه.

اگه می خواید کدهاتون رو در محیط ابزارک، نوشته و یا برگه استفاده کنید باید با فرمت زیر کد ایجاد شده رو در مکان مورد نظرتون اضافه کنید.

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

حالا اول باید ببینیم که شورت کد در این افزونه رو به چه شکلی در وردپرس ایجاد کنیم، این افزونه  امکان جستجو در دسته‌بندی، برچسب، پست تایپ و تاریخ خاص رو در نوشته‌ های وردپرس فراهم میکنه که حالا باید برای استفاده از هر کدوم از این فیلتر ها در شورت کد مشخص کنید که آیا این فیلتر در بخش جستجوی پیشرفته وردپرس نمایش داده بشه یا نه و لیست فیلتر های این افزونه این شکلیه :

فیلتر search : با استفاده از این فیلتر در شورت کد فیلد جستجو برای جستجوی مطالب بر اساس دسته‌بندی، برچسب و… فراهم میشه.

فیلتر category : این فیلتر امکان تعیین جستجو بر اساس دسته‌ بندی در وردپرس رو فراهم میکنه تا کاربر حین جستجو بتونه تعیین کنه در چه دسته‌ بندی از مطالب سایت به دنبال مطلب مورد نظر خودشه.

فیلتر post_tag : این فیلتر امکان تعیین جستجو بر اساس برچسب در وردپرس رو فراهم میکنه تا کاربر حین جستجو بتونه تعیین کنه مطالبی که در سایت به دنبال اون می گرده دارای چه برچسب هایی هست.

فیلتر post_types : این فیلتر هم امکان نمایش مطالب بر اساس پست‌ تایپ نوشته رو میده که از نمونه این پست تایپ ها میشه به محصولات ووکامرس، محصولات Edd، و پست تایپ دلخواه وردپرس که میشه ساخت.

فیلتر post_date : و آخر هم فیلتر post_date امکان نمایش مطالب بر اساس تاریخ نوشته‌ ها رو میده تا کاربری که به دنبال یک مطلب در سایت میگرده بر اساس تاریخ اون نوشته رو جستجو بکنه.

حالا برای هر یک از این فیلتر‌ ها کافیه تا کد ساخته شده فیلتر رو مثل زیر قرار داده و در نوشته، برگه، ابزارک یا فایل قالب خودتون قرار بدید.

 

 

جستجو پیشرفته مطالب و نوشته در وردپرس با استفاده از کد نویسی

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

//--- custom Search Form -------------------------------------
function custom_search_form($custom_search){
 
$default=array(
                'cat_show'=>false,
				'tag_show'=>false,
				'author_show'=>false,
				'archive_show'=>false,
				'field_show'=>true,
				'label_show'=>false,
				'button_show'=>true,
				'rememberd'=>true,
				'echo'=>false
);//default array
foreach((array)$custom_search as $key=>$value){
	$default[$key]=$value;
}

قدم دوم: اضافه کردم متغیرها، دوباره قطعه کد زیر رو در فایل functions.php پوسته وردپرس سایت خودتون اضافه کنید.

//--base vars------------------------
global $WP_Query,$query,$wp_user;
$cat_option='';$tag_option='';$author_option='';$archive_option='';
$advance_option='';$close_option='';$field_option='';$button_option='';
$cat_selected=get_query_var('cat');
$tag_selected=get_query_var('tag');
$author_selected=get_query_var('author');
$day_selected=get_query_var('day');
$month_selected=get_query_var('monthnum');
$year_selected=get_query_var('year');
if($day_selected==0)$day_selected='';
if($month_selected==0)$month_selected='';
if($year_selected==0)$year_selected='';

قدم سوم: معرفی فیلتر ها، تو این بخش تمامی کد ها در فایل functions.php قالب وردپرس شما قرار می گیره.

//--------category--------------------	
if($default['cat_show']==1):
$categories = get_categories(); 
$cat_option='<li><ul>';
if($default['label_show']):
$cat_option .='<li class="cat-label">'.__('دسته بندی','zistfa').'</li>';
endif;	
$cat_option .='<li class="search-cat"><select name="cat" id="searchcat" >
<option value="">'.__('همه','zistfa').'</option>';
foreach ($categories as $category) {
$cat_option .= '<option value="'.$category->cat_ID.'"';
if(($cat_selected == $category->cat_ID)&&($default['rememberd']==1)):
$cat_option .=' selected';
endif;
$cat_option .= '>'.$category->cat_name;
$cat_option .= '</option>';
}
$cat_option .= '</select></li></ul></li>';
endif;

فیلتر دوم : برچسب

//--------tag--------------------
if($default['tag_show']==1):
$tags = get_categories('taxonomy=post_tag'); 
$tag_option='<li><ul>';
if($default['label_show']):
$tag_option .='<li class="tag-label">'.__('برچسب','zistfa').'</li>';
endif;
$tag_option .='<li class="search-tag" ><select name="tag" id="searchtag" >
<option value="">'.__('همه','zistfa').'</option>';
 foreach ($tags as $tag) {
$tag_option .= '<option value="'.$tag->slug.'"';
if(($tag_selected == $tag->slug)&&($default['rememberd']==1)):
$tag_option .=' selected';
endif;
$tag_option .= '>'.$tag->cat_name;
$tag_option .= '</option>';
}
$tag_option .= '</select></li></ul></li>';
	endif;

فیلتر سوم : نویسنده

//--------author--------------------		
if($default['author_show']==1):
$authors=get_users(array('who'=>'authors','fields'=>array('id','display_name')));
$author_option='<li><ul>';
if($default['label_show']):
$author_option .='<li class="author-label">'.__('نویسنده ','zistfa').'</li>';
endif;
$author_option .='<li class="search-author" >
<select name="tag" id="searchauthor" ><option value="">'.__('همه','zistfa').'</option>';
 foreach ($authors as $author) {
$author_option .= '<option value="'.$author->id.'"';
if(($author_selected == $author->id)&&($default['rememberd']==1)):
$author_option .=' selected';
endif;
$author_option .= '>'.$author->display_name;
$author_option .= '</option>';
}
$author_option .= '</select></li></ul></li>';
endif;

فیلتر چهارم : تاریخ

//--------Date--------------------		
if($default['archive_show']==1):
$archive_option='<li><ul>';
if($default['label_show']):
$archive_option .='<li class="archive-label">'.__('تاریخ','zistfa').'</li>';
endif;
$archive_option .='<li class="archive-field">
<input type="text" value="' . $year_selected . '"
 name="year" id="year" size="3" placeholder="'.__('سال','zistfa').'" />
<input type="text" value="' . $month_selected . '" 
name="monthnum" id="monthnum" size="2" placeholder="'.__('ماه','zistfa').'" />
<input type="text" value="' . $day_selected. '"
 name="day" id="day" size="1" placeholder="'.__('روز','zistfa').'" />
</li></ul></li>';
endif;

ساختن و ایجاد فیلد های جستجو در سایتتون

//--------search field--------------------		
if($default['field_show']==1):
$field_option='<li><ul>';
if($default['label_show']):
$field_option .='<li class="search-label">'.__('جستجو برای : ','zistfa').'</li>';
endif;
$field_option .='<li class="search-field">
<input type="text" value="' . get_search_query() . '"
 name="s"  placeholder="'.__('کلمه مورد نظر + اینتر','zistfa').'" />
</li>
</ul>
</li>';
endif;

ساختن دکمه برای جستجو پیشرفته

//--------search button--------------------		
if($default['button_show']==1):
$button_option='<li>
<input type="submit" class="search-submit" value="'. esc_attr__( 'جستجو','zistfa' ) .'" />
</li>';
endif;

قدم چهارم : ثبت جستجو گر جدید در وردپرس

$form = '<form role="search" method="get" class="searchform" action="' . home_url( '/' ) . '" ><ul>
			'.$cat_option.$tag_option.$author_option.$archive_option.$field_option.$button_option.'
			</ul></form>';
<div style="clear:both; margin-top:0em; margin-bottom:1em;"><a href="https://mechanicwp.ir/automatically-send-posts-to-email-users-in-wordpress/" target="_blank" class="u71d93fcee3b67e23bd19d2976c32b0a2" data-wpel-link="internal"><img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cstyle%3E.u71d93fcee3b67e23bd19d2976c32b0a2%7Bpadding%3A0%3Bmargin%3A0%3Bpadding-top%3A1em!important%3Bpadding-bottom%3A1em!important%3Bwidth%3A100%25%3Bdisplay%3Ablock%3Bfont-weight%3A700%3Bbackground-color%3A%23ECF0F1%3Bborder%3A0!important%3Bborder-left%3A4px%20solid%20%2395A5A6!important%3Btext-decoration%3Anone%7D.u71d93fcee3b67e23bd19d2976c32b0a2%3Aactive%2C.u71d93fcee3b67e23bd19d2976c32b0a2%3Ahover%7Bopacity%3A1%3Btransition%3Aopacity%20250ms%3Bwebkit-transition%3Aopacity%20250ms%3Btext-decoration%3Anone%7D.u71d93fcee3b67e23bd19d2976c32b0a2%7Btransition%3Abackground-color%20250ms%3Bwebkit-transition%3Abackground-color%20250ms%3Bopacity%3A1%3Btransition%3Aopacity%20250ms%3Bwebkit-transition%3Aopacity%20250ms%7D.u71d93fcee3b67e23bd19d2976c32b0a2%20.ctaText%7Bfont-weight%3A700%3Bcolor%3A%232C3E50%3Btext-decoration%3Anone%3Bfont-size%3A16px%7D.u71d93fcee3b67e23bd19d2976c32b0a2%20.postTitle%7Bcolor%3A%23E74C3C%3Btext-decoration%3Aunderline!important%3Bfont-size%3A16px%7D.u71d93fcee3b67e23bd19d2976c32b0a2%3Ahover%20.postTitle%7Btext-decoration%3Aunderline!important%7D%3C%2Fstyle%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="<style>" title="<style>" /><div style="padding-left:1em; padding-right:1em;"><span class="ctaText">بیشتر بخوانید :</span>  <span class="postTitle">ارسال خودکار مطالب به ایمیل کاربران در وردپرس</span></div></a></div> 
		if($default['echo']==1):
			echo $form;
		else:
			return $form;
		endif;
 
}
add_filter( 'get_search_form', 'custom_search_form',10,1 );

تا اینجای کار، تمامی کدها در فایل functions.php قالب وردپرس شما قرار میگرفت.

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

<!--custom-search-form-->	
<div class="search-form">
<?php custom_search_form(array(
					            'echo'=>1,
								'archive_show'=>1,
								'cat_show'=>1,
								'tag_show'=>1,
								'author_show'=>1,
								'label_show'=>1,
								));?>
</div><!--/custom-search-form-->

قدم آخر: استایل دهی به فرم مورد نظر، در این مرحله برای نمایش مناسب و زیبای فرم ایجاد شده می تونید از کد زیر در فایل CSS قالب وردپرس خود استفاده کنید. البته  می تونید Style مورد علاقه خودتون رو به فرم ساخته شده بدید.

.cat-label, .tag-label, .author-label, .archive-label, .search-label
 {font-size : normal;padding : 3px;text-align : center;}
.author-label,.search-author select{color:rgb(53, 122, 232);border-color:rgb(53, 122, 232)}
.tag-label,.search-tag select{color:rgb(142, 68, 173);border-color:rgb(142, 68, 173)}
.cat-label,.search-cat select{color:rgb(216, 66, 55);border-color:rgb(216, 66, 55)}
.archive-label,.archive-field input{color:rgb(0, 167, 83);border-color:rgb(0, 167, 83)}
form.searchform ul li {display: inline-block;}
form.searchform ul li ul li{display: list-item;}
.search-form select,.search-form input {
border: solid 1px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
margin:3px;text-align:center
}

 

سخن آخر

دوستان عزیز و محترمی که تازه وارد سایت ما شدید امیدوارم این آموزش مسترآموز هم مورد پسندتون قرار گرفته باشه و با استفاده از اون تونسته باشید تا اقدام به فراهم کردن جستجو مطالب بر اساس دسته بندی و برچسب در وردپرس اقدام کنید. در صورتی که در رابطه با این آموزش سوال یا مشکلی داشتید حتما در بخش دیدگاه ها بپرسید تا من در کوتاه ترین زمان بتونم پاسخگوی شما باشم. به آموزش های مفید دیگه ما هم در زمینه طراحی سایت، وردپرس، php و غیره … سر بزنید.

نظر خودتان را ارسال کنید