ارزدیجیتال
حراجی دامنه های ویژهمشاهده





وینگو مارکت
تبلیغات
تبلیغات
تبلیغات تبلیغات
تبلیغات تبلیغات

۸ هک کاربردی برای بهبود جستجوی وردپرس

سئو , مقالات,آموزش,ترفند , وردپرس

قسمت جستجوی وردپرس همیشه یک نقطه ضعف برای این سیستم بزرگ بوده ، امروز تصمیم گرفتیم چند هک برای بهبود موتور جستجوی وردپرس به شما آموزش بدیم.

۸ هک کاربردی برای بهبود جستجوی وردپرس

1.ریدایرکت کردن خودکار در صورتی که فقط یک مطلب یافت شد!

اولین کد رو با یک Snippet کاربردی شروع می کنیم ، فرض کنید کاربر شما برای متنی جستجو کند که فقط یک نتیجه برای آن یافت شود. بهتر نیست به طور خودکار به پست یافت شده بره؟؟

کدهای زیر را در functions.php قالبتان قرار دهید (اگر قالبتان functions.php ندارد یکی بسازید)

add_action('template_redirect', 'redirect_single_post');
function redirect_single_post() {
    if (is_search()) {
        global $wp_query;
        if ($wp_query->post_count == 1) {
            wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
        }
    }
}

 

2. نمایش تعداد نتایج یافت شده!

شاید بخواهید در هر جستجو تعداد نتایج یافت شده را نشان دهید :

فایل search.php را باز کنید و دنبال چیزی شبیه به این بگردید

<h2 class="pagetitle">نتایج جستجو</h2>

و آن را به قطعه کد زیر جایگزین کنید

<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.php را باز کنید و تابع the_title() را پیدا کنید و آن را با کد زیر جایگزین کنید

echo $title;

حالا دقیقا قبل از خطی که ویرایش کردید قطعه کد زیر را اضافه کنید

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

حالا فایل search.php را ذخیره کنید و فایل style.css را باز کنید و کد زیر را اضافه کنید

strong.search-excerpt { background: yellow; }

 

 ۴٫ محدود کردن تعداد نتایج در هر صفحه

به طور پیش فرض ، وردپرس در هر صفحه ۱۰ نتیجه را نشان می دهد اگر میخواهید این مقدار را تغییر دهید کدهای زیر را به functions.php اضافه کنید

function limit_posts_per_search_page() {
    if ( is_search() )
        set_query_var('posts_per_archive_page', 20);
}

add_filter('pre_get_posts', 'limit_posts_per_search_page');

 

5. جستجو بین نوع خاصی از پست!

اگر میخواهید که جستجو فقط بین نوع خاصی از پست صورت گیرد کد زیر را به functions.php اضافه کنید

در خط ۴ میتوانید نوع را تغییر دهید

function SearchFilter($query) {
  if ($query->is_search) {
    // Insert the specific post type you want to search
    $query->set('post_type', 'feeds');
  }
  return $query;
}

// This filter will jump into the loop and arrange our results before they're returned
add_filter('pre_get_posts','SearchFilter');

 

6. جستجو بین یک “دسته” خاص

این امکان وجود دارد که نتایج جستجو را فقط به یک دسته خاص محدود کرد برای این کار کد زیر با search.php اضافه کنید

و در خط سوم آی دی دسته هایی که میخواهید جستجو در آنها انجام شود را بنویسید ( آی دی ها را با کاما , جدا کنید)

<?php if( is_search() )  :
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts("s=$s&paged=$paged&cat=1,2,3");
endif; ?>

 

7. نامحدود کردن تعداد نتایج جستجو

شاید صفحه صفحه کردن نتایج جستجو کمی آزاردهنده به نظر برسد و شما بخواهید تمامی نتایج را در یک صفحه نشان دهید برای این کار کافیست کد زیر را در search.php پیدا کنید

<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>

و با این کد جایگزین کنید

<?php $posts=query_posts($query_string . '&posts_per_page=-1'); ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>

 

8. خاموش کردن امکان جستجو

شاید این که موتور جستجوی وردپرس را به طور کلی خاموش کنید چیز خوبی نباشد اما برای اینکار کافیست کد زیر را به functions.php اضافه کنید

function fb_filter_query( $query, $error = true ) {
    if ( is_search() ) {
        $query->is_search = false;
        $query->query_vars[s] = false;
        $query->query[s] = false;

        // to error
        if ( $error == true )
            $query->is_404 = true;
    }
}

add_action( 'parse_query', 'fb_filter_query' );
add_filter( 'get_search_form', create_function( '$a', "return null;" ) );

این هم از آموزش امروز ، موفق باشید.

این محتوا چقدر براتون مفید بود؟

از ۱ تا ۵ امتیاز بدید.

میانگین رتبه 0 / 5. تعداد رای : 0

تا حالا کسی رای نداده! اولین نفر شما باشید.

دانلود

هاست ارزان، لایت اسپید، سرور مجازی منطبق با اسکریپت های 20script کلیک کنید >

خرید ارز
مطلب مفیدی بود ؟
نویسنده : تیم محتوای 20اسکریپت 4 سئو , مقالات,آموزش,ترفند , وردپرس
لینک کوتاه مطلب : https://www.20script.ir/?p=358
کلمات کلیدی پست :
مطالب مرتبط
18,200قالب چند منظوره و راست چین KLEO نسخه 2.2 تاریخ : 2014/11/22
13,977دانلود پوسته فروشگاهی وب مارکت برای وردپرس تاریخ : 2016/07/6
12,456افزونه جستجو زنده به صورت آژاکس Mega Search برای وردپرس تاریخ : 2015/10/26
6,380آموزش مخفی کردن مطالب وردپرس از نتایج گوگل تاریخ : 2019/06/19
11,918ایجاد لیست کلمات ممنوعه در وردپرس تاریخ : 2017/01/17
10,896افزونه محافظت از بخش عضویت وردپرس Block Double Logins تاریخ : 2018/05/2
18,656باز کردن لینک خروجی در تب جدید مرورگر تاریخ : 2019/07/31
11,278نمایش تعداد کلمات در پست های وردپرس با Word Stats تاریخ : 2017/02/27
20,996افزودن زیر عنوان برای مطالب وردپرس تاریخ : 2017/07/12
8,739پوسته کسب و کار ECOBIZ برای وردپرس تاریخ : 2017/06/17
9,252غیرفعال کردن ذخیره آدرس آی پی در نظرات وردپرس تاریخ : 2018/04/30
20,684افزونه زمانبندی تاریخ تحویل کالای ووکامرس YITH WooCommerce Delivery Date تاریخ : 2020/03/29
برخی از قالب های وبلاگ - بیست اسکریپت
قالب عشق بین انگشت هاقالب عشق بین انگشت ها
قالب دخترونه و آرایشقالب دخترونه و آرایش
قالب زیبای ماشینقالب زیبای ماشین
قالب فانتزی و طنز چِشمقالب فانتزی و طنز چِشم
قالب دختر رویاییقالب دختر رویایی
قالب وبلاگ دکوراسیونقالب وبلاگ دکوراسیون
قالب وبلاگ کلبه و درختقالب وبلاگ کلبه و درخت
قالب دختر زیباقالب دختر زیبا
قالب پسرونه غمگینقالب پسرونه غمگین
قالب عاشقانه قلبقالب عاشقانه قلب