-
عضو انجمن
برجسته کردن متن جستجو شده در نتایج جستجو وردپرس
از سری تکنیک های پیشرفته تر کردن جستجو در وردپرس دیروز به مطلب امکان انتخاب دسته بندی در فرم جستجو وردپرس پرداختیم . اینبار برجسته کردن متن جستجو شده در نتایج جستجو وردپرس رو میگیم البته بدون افزونه این کار میکنیم
این کار را به دو روش آموزش می دهیم
روش 1 : برجسته کردن متن جستجو شده در نتایج جستجو وردپرس
برای برجسته کردن متن جستجو شده توسط کاربر و یا هایلایت کردن آن در فایل search.php قالب خود کد :
را پیدا کنید و آن را به کد زیر
تغییر دهید
سپس قبل از همین کدی که تغییر دادید کد زیر را قرار دهید :
کد PHP:
<?php
$title = get_the_title();
$keys= explode(" ",$s);
$title = preg_replace('/('.implode('|', $keys) .')/iu',
'<strong class="farjad-excerpt">\0</strong>',
$title);
?>
سپس فایل style.css قالب خود را باز کنید و کد زیر را به آن اضافه کنید:
کد PHP:
strong.farjad-excerpt { background: yellow; }
روش 2 : برجسته کردن متن جستجو شده در نتایج جستجو وردپرس
کافی است کد زیر را در فایل functions.php قالب وردپرس خودتون قرار بدید
اگر چنین فایلی ندارید آن را بسازید
کد 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');
-
-
May 22nd, 2021 17:22
# ADS