نویسنده: حسین

با سلام خدمت شما در سایت مدرسه وردپرس؛ خب من شخصا دوست ندارم از افزونه های زیاد برای رفع نیازهای سایت وردپرس خودم استفاده کنم و دوست دارم اگر افزونه ای هم باشه خودم اون افزونه رو نوشته باشم.حتما می پیرسید به چه دلیل!؟ به دلیل اینکه زیاد بود افزون ها باعث فشار آوردن به سرور می شود به همین دلیل دنبال کدهایی بودم که کار یک افزونه رو برای من انجام بدهند. خب یکی از مسائل مهمی که در یک سایت مورد توجه است جستجو در آن است اما اکثر سایت ها در این زمینه خیلی کم کاری کرده اند و  معمولا از قدرت جستجو پایینی برخوردارند که این آزادی کم تری رو به کاربر میدهند.

اما ما امروز با چند خط کد php می توانیم این مسئله رو حل کنیم . این کار باعث می شود که کاربران ما بتوانند عمیق تر و با دقت بیشتری به پیدا کردن موضوعاتی که هستند باشند .

کاری که ما امروز خواهیم کرد درست کردن یک جور فیلتر برای فرم جستجو است . حتما اگر یک سرچ کوچک در گوگل کنید به افزونه های زیادی بر می خورید اما اگر این مطلب را تا آخر بخوانید هیچ نیازی به آن ها نیست.

خب بریم سراغ ساخت افزونه با چند کد Php؛

همه کدهای زیر را به فایل index.php افزونه خودتون اضافه کنید.

مقدمه

مرحله اول:اضافه کردن فرم جستجوگر جدید به وردپرس

مرحله دوم : اضافه کردن متغیر ها

مرحله سوم : معرفی فیلتر ها به وردپرس

فیلتر اول : دسته بندی

این فیلتر برای انتخاب دسته بندی در فرم جستجوی پیشرفته می باشد و به کمک این فیلتر دسته بندی جستجوی خودتون رو انتخاب میکنید.

فیلتر دوم : برچسب

این فیلتر برای انتخاب برجسب در فرم جستجوی پیشرفته می باشد و به کمک این فیلتر برجسب جستجوی خودتون رو انتخاب میکنید.

فیلتر سوم : نویسنده

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

فیلتر چهارم : تاریخ (روز-ماه-سال)

این فیلتر برای انتخاب تاریخ مطالب جهت جستجو می باشد.

ساخت فیلد جستجو (محل تایپ کلمه مورد نظر برای جستجو) :

ساخت دکمه جستجو :

مرحله چهارم : ثبت جستجوگر در وردپرس

خب تا حالا فرم خودمون رو جهت نمایش ساختیم و به خوبی کار میکند حالا آخرین مرحله یعنی استایل دادن به فرم و عناصر فرم باقی مانده.

قدم آخر : استایل دادن به فرم

شما می تونید کدهای Css دلخواه خودتون رو اضافه کنید

نمایش جستجوگر پیشرفته

این کد رو هر جا که میخواهید فرم جستجو به نمایش در بیاد قرار دهید

نتیجه کار

ساخت افزونه جستجوی پیشرفته

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

امیدوارم این آموزش براتون مفید باشه ممنون که با ما بودید. اینم افزونه ای که نوشتیم برای دانلود ؛ خدانگهدار

9 دیدگاه برای “ساخت افزونه جستجوی پیشرفته

  • حسن
    - ۲ شهریور , ۱۳۹۵ در ۲:۵۳ ب.ظ

    مطلب خوب و کاربردی بود..ممنون

    • حسین
      - ۶ شهریور , ۱۳۹۵ در ۸:۵۰ ق.ظ

      قابلی نداشت فدای شما

  • سیروس
    - ۳ شهریور , ۱۳۹۵ در ۲:۴۵ ق.ظ

    سلام بسیار عالی بود.
    چرا استایل رو در style.css نذاشتید و اینجوری echo کردید تو صفحه؟

    • حسین
      - ۶ شهریور , ۱۳۹۵ در ۹:۰۰ ق.ظ

      تشکر
      زیاد فرقی نداره

  • علی
    - ۲۵ شهریور , ۱۳۹۵ در ۵:۱۷ ب.ظ

    ممنون ما هم فیض بردیم 🙂
    تشکر
    ممنون از سایت خوبتون

  • محمد
    - ۴ مهر , ۱۳۹۵ در ۱۰:۳۲ ب.ظ

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

    • حسین
      - ۵ مهر , ۱۳۹۵ در ۳:۵۱ ب.ظ

      بله میشه
      چندتا فیلتر دسته بندی اعمال کنیم

      • محمد
        - ۱۱ مهر , ۱۳۹۵ در ۶:۴۸ ب.ظ

        بازم سلام
        البته نمیدونم منظورم رو رسوندم یانه
        درواقع میخوام توی هر فیلد چند تا دسته بندی خاص رو قرار بدم
        امکان داره این مورد رو هم آموزش بدید ؟.

        • حسین
          - ۱۲ مهر , ۱۳۹۵ در ۶:۱۸ ب.ظ

          شما باید کد های قسمت فیلتر دسته بندی رو اینطوری وارد کنید

          if($default['cat_show']==۱):
          $categories = get_categories();
          $cat_option='';
          if($default['label_show']):
          $cat_option .=''.__('دسته بندی','zistfa').'';
          endif;
          $cat_option .=''.__('همه','zistfa').'';
          foreach ($categories as $category) {
          $cat_option .= 'cat_ID.'"';
          if(($cat_selected == $category->cat_ID)&&($default['rememberd']==۱)):
          $cat_option .=' selected';
          endif;
          $cat_option .= '>'.$category->cat_name;
          $cat_option .= '';
          }
          $cat_option .= '';
          $cat_option .=''.__('همه','zistfa').'';
          foreach ($categories as $category) {
          $cat_option .= 'cat_ID.'"';
          if(($cat_selected == $category->cat_ID)&&($default['rememberd']==۱)):
          $cat_option .=' selected';
          endif;
          $cat_option .= '>'.$category->cat_name;
          $cat_option .= '';
          }
          $cat_option .= '';
          endif;

          سوالی بود درخدمتم 🙂

دیدگاه خود را بیان کنید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *