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


تبلیغات
تبلیغات تبلیغات

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

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

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

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

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;" ) );

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

دانلود

هاست ارزان، لایت اسپید، سرور مجازی منطبق با اسکریپت های 20script کلیک کنید >
ثبت نام در بروکر فارکس با قابلیت واریز و برداشت به صورت ریالی کلیک کنید >
مطلب مفیدی بود ؟
نویسنده : تیم محتوای 20اسکریپت 4 سئو , مقالات,آموزش,ترفند , وردپرس
لینک کوتاه مطلب : https://www.20script.ir/?p=358
کلمات کلیدی پست :
مطالب مرتبط
3,556پوسته آموزش و تحصیلات Smarty برای وردپرس تاریخ : 2019/12/8
7,121افزونه ساخت منو های تمام صفحه Jumbo برای وردپرس تاریخ : 2015/02/23
3,940پوسته مجله خبری Vmagazine برای وردپرس تاریخ : 2018/09/17
7,887افزونه مشاهده آنلاین فعالیت کاربران در وردپرس WP Visitors Tracker تاریخ : 2017/12/15
11,343افزونه اطلاع رسانی از طریق نوتیفیکیشن در ووکامرس WooCommerce Notification تاریخ : 2019/10/14
2,004نمایش تعداد کلمات محتوا در وردپرس تاریخ : 2021/04/18
8,524افزونه افزودنی Woocommerce shortcodes برای ویژوال کامپوسر تاریخ : 2016/04/25
10,020آموزش مخفی کردن ورژن وردپرس تاریخ : 2016/03/13
6,004نمایش تصویر شاخص مطالب در بخش مدیریت وردپرس تاریخ : 2016/10/22
11,283دانلود قالب وردپرس CryBook فارسی و واکنش گرا تاریخ : 2014/07/9
26,600افزونه ویرایشگر قالب مداد زرد Yellow Pencil نسخه 5.2.1 برای وردپرس تاریخ : 2016/02/10
5,653افزونه ریدایرکت لینک های وردپرس 5sec Redirect تاریخ : 2017/11/24
برخی از قالب های وبلاگ - بیست اسکریپت
قالب عشق بین انگشت ها
قالب دخترونه و آرایش
قالب زیبای ماشین
قالب فانتزی و طنز چِشم
قالب دختر رویایی
قالب وبلاگ دکوراسیون
قالب وبلاگ کلبه و درخت
قالب دختر زیبا
قالب پسرونه غمگین
قالب عاشقانه قلب
شرکت سئو سایت
شرکت سئو سایت
تبلیغات
تبلیغات
تبلیغات