تبلیغ جدید خرید هاست ارزان
  • 2,127 بازدید
  • بدون نظر

وردپرس به صورت پیشفرض در بخش های مختلف خود از آدرس های واضح و کاربر پسندانه ای بهره میگیرد که درک آنها هم برای کاربران و هم برای موتورهای جستجو آسان بوده و علاوه بر امکان بهره گیری آسان، دارای ساختار زیبایی نیز هستند. در این میان آدرسی که وردپرس در بخش جستجو به کار میگیرد، به علت وجود کوئری (و طبعا علامت سوال) در url دارای ساختار جالب توجه و کاربر پسندانه ای نیست. به همین جهت قصد داریم در آموزش امروز به مبحث تغییر آدرس پیش فرض جستجو در وردپرس پرداخته و روش های سفارشی سازی نامک جستجو در وردپرس را بررسی کنیم. از شما دعوت میکنیم که در ادامه با ایکس اسکریپت همراه شوید.

تغییر آدرس پیش فرض جستجو

تغییر آدرس پیش فرض جستجو در وردپرس

آدرس پیش فرض جستجو در وردپرس دارای ساختار زیر است :

mydomain.com/?s=search-term

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

mydomain.com/search/search-term

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

روش اول : از طریق فایل functions.php

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

function xscript_change_search_url_rewrite() {
    if ( is_search() && ! empty( $_GET['s'] ) ) {
        wp_redirect( home_url( "/search/" ) . urlencode( get_query_var( 's' ) ) );
        exit();
    }   
}
add_action( 'template_redirect', 'mrcode_change_search_url_rewrite' );
 
function rewrite_search_slug() {    
    add_rewrite_rule(
        'search(/([^/]+))?(/([^/]+))?(/([^/]+))?/?',
        'index.php?s=$matches[2]&paged=$matches[6]',
         'top'      
    );
}
add_action( 'init', 'rewrite_search_slug' );

در کد بالا در خط سوم و دهم میتوانید عبارت search را با عبارت دلخواه خود جایگزین کنید. مثلا میتوانید به دلخواه از کلماتی مانند find یا results بجای search بهره بگیرید.

روش دوم : از طریق فایل htaccess

در این روش آدرس پیش فرض جستجو در وردپرس را از طریق ویرایش فایل htaccess تغییر خواهیم داد. این فایل را میتوانید در فولدر اصلی محل راه اندازی سایت خود بیابید. (مثلا public_html یا httpdocs) توجه داشته باشید به این علت که نام این فایل با نقطه شروع میشود، ممکن است برای نمایش آن نیاز به فعال کردن نمایش فایل های مخفی در فایل منیجر هاست خود داشته باشید. برای تغییر ساختار آدرس جستجو در ورپرس کافی است کد زیر را به انتهای این فایل اضافه کرده و سپس تغییرات را در فایل ذخیره کنید.

INI
# ReWrite WP Search URL
RewriteCond %{QUERY_STRING} \\?s=([^&]+) [NC]
RewriteRule ^$ /search/%1/? [NC,R,L]
1
2
3
	
# ReWrite WP Search URL
RewriteCond %{QUERY_STRING} \\?s=([^&]+) [NC]
RewriteRule ^$ /search/%1/? [NC,R,L]

 

نکته : استفاده از این شیوه برای سایت های فارسی زبان مناسب نخواهد بود. چرا که کوئری جستجو پس از ریرایت در آدرس به حالت RFC 3986 در می آید. و نکته ی دیگر اینکه اگر از این شیوه در زیر فولدر های دامنه ی اصلی سایتتان استفاده میکنید (خصوصا در محیط لوکال) در خط سوم کد یک فوروارد اسلش به همراه آدرس فولدر به پشت عبارت /search/ اضافه کنید. مثلا /myfolder/search/

در پایان امیدواریم از آموزش کوتاه امروز لذت برده باشید.

Avatar

درباره نویسنده : Mahdi

اگر زمین می خوری به این معنا نیست که شکست خوردی. اگر زمین خوردی و بلند نشدی شکست خورده ای!!

مطالب بیشتر از همین نویسنده