PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : برجسته کردن متن جستجو شده در نتایج جستجو وردپرس



nojhanacc
May 22nd, 2021, 17:22
از سری تکنیک های پیشرفته تر کردن جستجو در وردپرس دیروز به مطلب امکان انتخاب دسته بندی در فرم جستجو وردپرس (https://farjad.co/wordpress/education/category-search-options-in-the-form-of-wordpress/) پرداختیم . اینبار برجسته کردن متن جستجو شده در نتایج جستجو وردپرس رو میگیم البته بدون افزونه این کار میکنیم
این کار را به دو روش آموزش می دهیم
روش 1 : برجسته کردن متن جستجو شده در نتایج جستجو وردپرس برای برجسته کردن متن جستجو شده توسط کاربر و یا هایلایت کردن آن در فایل search.php قالب خود کد :



the_title()


را پیدا کنید و آن را به کد زیر



echo $title;


تغییر دهید
سپس قبل از همین کدی که تغییر دادید کد زیر را قرار دهید :‌



<?php
$title = get_the_title();
$keys= explode(" ",$s);
$title = preg_replace('/('.implode('|', $keys) .')/iu',
'<strong class="farjad-excerpt">\0</strong>',
$title);
?>


سپس فایل style.css قالب خود را باز کنید و کد زیر را به آن اضافه کنید:



strong.farjad-excerpt { background: yellow; }


روش 2 : برجسته کردن متن جستجو شده در نتایج جستجو وردپرس کافی است کد زیر را در فایل functions.php قالب وردپرس خودتون قرار بدید
اگر چنین فایلی ندارید آن را بسازید



function farjad_highlight_results($text){
if(is_search()){
$sr = get_query_var('s');
$keys = explode(" ",$sr);
$text = preg_replace('/('.implode('|', $keys) .')/iu', '<strong class="search-excerpt">'.$sr.'</strong>', $text);
}
return $text;
}
add_filter('the_excerpt', 'farjad_highlight_results');
add_filter('the_title', 'farjad_highlight_results');