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

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

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

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

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

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
کلمات کلیدی پست :
مطالب مرتبط
10,576قالب وردپرس نمونه کار پرواز Flying تاریخ : 2017/01/15
7,346افزونه فارسی مدیریت زمینه دلخواه وردپرس نسخه حرفه ای ۵.۱.۵ تاریخ : 2015/01/13
23,329آموزش نصب افزونه در وردپرس تاریخ : 2016/12/22
6,124نمایش جیمیل در پیشخوان وردپرس با افزونه My GMail تاریخ : 2019/05/31
3,744افزودن اسکرول به بالا با استفاده از jQuery تاریخ : 2019/09/13
8,436حذف لینک پیشفرض تصاویر وردپرس تاریخ : 2017/09/5
5,852چرا باید رسانه های وردپرس را noindex کنیم؟ تاریخ : 2019/09/4
4,996ایجاد پاورقی شناور در وردپرس بدون استفاده از افزونه تاریخ : 2019/11/23
8,911افزونه خبرنامه حرفه ای وردپرس WP Subscribe Pro نسخه 1.5.31 تاریخ : 2018/12/4
11,244افزودن دکمه پرینت مطلب و برگه ها در وردپرس با Print Post and Page تاریخ : 2017/05/2
8,992قرار دادن پروفایل شبکه های اجتماعی در گوگل تاریخ : 2018/04/20
11,105تغییر چیدمان منوی وردپرس با افزونه Admin Menu Manager تاریخ : 2017/07/15
برخی از قالب های وبلاگ - بیست اسکریپت
قالب عشق بین انگشت هاقالب عشق بین انگشت ها
قالب دخترونه و آرایشقالب دخترونه و آرایش
قالب زیبای ماشینقالب زیبای ماشین
قالب فانتزی و طنز چِشمقالب فانتزی و طنز چِشم
قالب دختر رویاییقالب دختر رویایی
قالب وبلاگ دکوراسیونقالب وبلاگ دکوراسیون
قالب وبلاگ کلبه و درختقالب وبلاگ کلبه و درخت
قالب دختر زیباقالب دختر زیبا
قالب پسرونه غمگینقالب پسرونه غمگین
قالب عاشقانه قلبقالب عاشقانه قلب
indiegogo
sourceforge
profile webmaster
profile webmaster
profile
profile check
آرشیو
checker list
سئو سایت
تبلیغات