رفتن به مطلب

نمایش کلمه جستجو شده در متن


پست های پیشنهاد شده

گاهی یک کلمه جستجو میشه، مثلا ورزشی. در نتایج جستجو اون پست به نمایش درمی‌آید ولی کلمه ورزشی رو باید روی پست بزنی تا باز بشه و بین متن پیدا کنی. چطوری میشه توی نتیجه جستجو همون قسمتی از متن که اون کلمه توش هست رو نمایش بده؟

لینک به ارسال

با سلام داخل search.php اضافه کنید

<h2 class="pagetitle">
  شما جستجو کرده اید برای <?php /* Search Count */ $allsearch = new WP_Query("s=$s&showposts=-1"); $key = wp_specialchars($s, 1); $count = $allsearch->post_count; _e(''); _e('<span class="search-terms">'); echo $key; _e('</span>'); _e(' — '); echo $count . ' '; _e('مورد یافت شد'); wp_reset_query(); ?>
</h2>

بعد هم استایل دهی کنید

.search-terms {
background-color:yellow;
color:blue;
}

نمایش به اینصورت خواهد بود : شما جستجو کرده اید برای ... - 2 مورد یافت شد

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

https://wordpress.org/plugins/highlight-search-terms/

و یا از کد زیر استفاده کنید

ابتدا کد زیر رو پیدا کنید و اون رو 
<?php the_title(); ?>

رو با کد زیر جایگزین کنید
<?php echo $title; ?>

و سپس کد زیر رو بالاترش قرار بدید
<?php $title = get_the_title(); $keys= explode(" ",$s); $title = preg_replace('/('.implode('|', $keys) .')/iu', '<strong class="search-excerpt">\0</strong>', $title); ?>

بعد هم استایل دهی کنید

strong.search-excerpt { 
background-color:yellow;
color:blue;
}

 

لینک به ارسال
در 22 ساعت قبل، MOHCEN گفته است :

گاهی یک کلمه جستجو میشه، مثلا ورزشی. در نتایج جستجو اون پست به نمایش درمی‌آید ولی کلمه ورزشی رو باید روی پست بزنی تا باز بشه و بین متن پیدا کنی. چطوری میشه توی نتیجه جستجو همون قسمتی از متن که اون کلمه توش هست رو نمایش بده؟

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

لینک به ارسال
  • 1 سال بعد...
در در ۱۳۹۹/۴/۱۷ در 01:08، asadiy4n گفته است :

با سلام داخل search.php اضافه کنید


<h2 class="pagetitle">
  شما جستجو کرده اید برای <?php /* Search Count */ $allsearch = new WP_Query("s=$s&showposts=-1"); $key = wp_specialchars($s, 1); $count = $allsearch->post_count; _e(''); _e('<span class="search-terms">'); echo $key; _e('</span>'); _e(' — '); echo $count . ' '; _e('مورد یافت شد'); wp_reset_query(); ?>
</h2>

بعد هم استایل دهی کنید


.search-terms {
background-color:yellow;
color:blue;
}

نمایش به اینصورت خواهد بود : شما جستجو کرده اید برای ... - 2 مورد یافت شد

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


https://wordpress.org/plugins/highlight-search-terms/

و یا از کد زیر استفاده کنید


ابتدا کد زیر رو پیدا کنید و اون رو 
<?php the_title(); ?>

رو با کد زیر جایگزین کنید
<?php echo $title; ?>

و سپس کد زیر رو بالاترش قرار بدید
<?php $title = get_the_title(); $keys= explode(" ",$s); $title = preg_replace('/('.implode('|', $keys) .')/iu', '<strong class="search-excerpt">\0</strong>', $title); ?>

بعد هم استایل دهی کنید


strong.search-excerpt { 
background-color:yellow;
color:blue;
}

 

سلام مهندس

اگه من بخوام تبلیغات متنی داخل سایت قرار بدم و فقط بر اساس کلمه ای که داخل جستجو زدیم اون تبلیغات کنار مطالبی که جستجو شده نمایش داده بشه باید چیکار کنم؟

مثلا تو جستجوی سایت زدیم آموزش وردپرس, و فقط تبلیغات مربوط به کلمه آموزش وردپرس نمایش داده بشه

ممنون

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...