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





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

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

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

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

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

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,416چند اشتباه رایج در مدیریت وبسایت تاریخ : 2018/12/15
47,643افزونه پیشنهاد شگفت انگیز و تخفیف گروهی برای ووکامرس تاریخ : 2016/06/14
8,796پیدا کردن کلمات کلیدی مناسب با استفاده از Google Search Console تاریخ : 2020/02/15
9,496Long Scrolling چیست و چه مزایایی دارد؟ تاریخ : 2019/01/24
8,052آپدیت آسان قالب و افزونه های وردپرس با افزونه Easy Theme and Plugin Upgrades تاریخ : 2019/12/3
14,955عدم نمایش مطالب دسته خاص صفحه اصلی وردپرس تاریخ : 2014/04/26
21,072روشهای حذف نام نویسنده از پستهای وردپرس تاریخ : 2019/09/20
8,456آموزش حذف wpseo_sitemap‌ از دیتابیس وردپرس تاریخ : 2019/09/5
17,881دانلود قالب موزیک Clubix برای وردپرس تاریخ : 2016/05/7
23,333ایجاد اسلایدر حرفه ای در وردپرس با Slider Revolution نسخه 4.6 تاریخ : 2014/09/9
12,038دانلود قالب وردپرس و چندمنظوره Legenda تاریخ : 2015/03/16
13,658افزونه مدیریت بخش وبلاگ وردپرس Blog Manager تاریخ : 2017/12/19
برخی از قالب های وبلاگ - بیست اسکریپت
قالب عشق بین انگشت هاقالب عشق بین انگشت ها
قالب دخترونه و آرایشقالب دخترونه و آرایش
قالب زیبای ماشینقالب زیبای ماشین
قالب فانتزی و طنز چِشمقالب فانتزی و طنز چِشم
قالب دختر رویاییقالب دختر رویایی
قالب وبلاگ دکوراسیونقالب وبلاگ دکوراسیون
قالب وبلاگ کلبه و درختقالب وبلاگ کلبه و درخت
قالب دختر زیباقالب دختر زیبا
قالب پسرونه غمگینقالب پسرونه غمگین
قالب عاشقانه قلبقالب عاشقانه قلب