فرم جستجو وردپرس

فرم جستجو وردپرس؛ آموزش افزودن قابلیت سرچ به وردپرس

زمان انتشار: در تاریخ ۱۴۰۲/۰۱/۳۱ ساعت ۲۱:۰۰ | آموزش وب . بلاگ

وجود قابلیت سرچ در وب سایت، تجربه کاربری را بهبود می دهد. در این مطلب یک فرم جستجو وردپرس اختصاصی به قالب خود اضافه می کنیم.

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

ساخت فرم جستجو وردپرس

وردپرس به صورت پیش فرض یک فرم سرچ ساده را در اختیار ما قرار می دهد. از طرفی، افزونه های زیادی برای پیاده سازی جستجو در وب سایت وردپرسی وجود دارد. اما در این مطلب قصد ساخت یک فرم ساده و اختصاصی را داریم. اما قبل از آن با بهتر است با فرم جستجوی پیش فرض وردپرس آشنا شویم. برای استفاده از این قابلیت باید کد زیر را در محل مورد نظر قرار دهیم:

<?php get_search_form(); ?>

این کد فرم جستجوی پیش فرض وردپرس را فراخوانی می کند. اما ما قصد ساخت یک فرم اختصاصی را داریم. برای این کار از کد HTML زیر در محل مورد نظر خود استفاده می کنیم. این کد ساده ترین حالت فرم جستجوی وردپرس را برای ما نمایش می دهد:

<form method="get" action="<?php echo esc_url( home_url( '/' ) ); ?>">
	<input type="text" name="s">
</form>

در این کد یک فرم HTML ساده ایجاد کرده و یک ورودی متن با نام S در آن می نویسیم. با این فرم کاربر پس از نوشتن عبارت و تایید، آن را بعد از آدرس اصلی سایت به عنوان پارامتری با نام S ارسال می کند. همین مورد قابلیت جستجوی وردپرس را فراخوانی و مطالب مرتبط را نمایش می دهد. حال با اضافه کردن کد های بیشتر میتوان قابلیت های بیشتری را به این فرم اضافه کرد. برای مثال در نسخه اولیه دکمه ای برای تایید وجود ندارد. کاربر پس از نوشتن عبارت با زدن اینتر روی کیبورد فرم جستجو وردپرس را تایید می کند. برای افزودن دکمه تایید از کد زیر استفاده می کنیم:

<input type="submit" value="جستجو">

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

<?php wp_dropdown_categories( 'show_option_all=همه ی دسته ها' ); ?>

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

استفاده از searchform.php وردپرس

تا اینجا توانستیم یک فرم جستجو وردپرس اختصاصی ایجاد کنیم. اما فرض کنید بخواهیم از این فرم در چند قسمت قالب خود استفاده کنیم. برای این کار باید این کد را در چند قسمت از قالب و سایت خود قرار دهیم. اما روش بهتر استفاده از فایل searchform.php در قالب وردپرس است. در واقع وردپرس هنگام فراخوانی get_search_form دنبال فایل searchform.php در پوشه قالب فعال وردپرس می گردد. در صورت نبودن این فایل، فرم پیش فرض جستجو را نمایش می دهد. حال ما با ساخت این فایل، به سادگی فرم جستجو وردپرس را تغییر می دهیم. برای این کار یک فایل PHP با نام searchform در پوشه قالب فعال خود ایجاد می کنیم. سپس کد زیر را درون آن قرار می دهیم:

<form method="get" action="<?php echo esc_url( home_url( '/' ) ); ?>">
	<input type="text" name="s" placeholder="جستجو" value="<?php echo get_search_query(); ?>">
	<?php wp_dropdown_categories( 'show_option_all=همه ی دسته ها' ); ?>
</form>

با این کار با فراخوانی تابع get_search_form، فرم جستجو اختصاصی ما نمایش داده می شود. حال به نظر شما، پیاده سازی فرم جستجو وردپرس نیاز به استفاده از افزونه دارد؟

  1. محمد گفت:

    سلام / وقتتون بخیر
    آموزش خیلی خوبی بود
    الان دقیقا من یک چنین مشکلی دارم برای سایتی که میخام طراحی کنم – البته ی خورده آماتور هم هستم دیگه
    کاش ی خورده کاملتر توضیح میدادید که چکار کنم دقیق و اون searchform.php کجا کپی کنیم و …

    من ی فرم جستجو میخام بسازم برای املاک که بشه خرید و فروش و رهن اجاره انتخاب کرد بعدش هم نوعش مثل آپارتمان – تجاری و … و در آخر محله ای که مورد نظر مشتری هست وارد بشه و جستجو کنه
    فکر میکنم با این روشی که شما گفتید بشه انجام داد – ولی خب من که حرفه ای نیستم چه کنم ؟ 😀

    • سلام. ممنون لطف دارید.
      فایل searchform.php رو باید توی پوشه قالبتون قرار بدید. در مورد مثال شما نمیشه این همه فیلد رو با جستجوی ساده انجام داد. اطلاعاتی مثل نوع و محله و … رو چطور ذخیره می کنید؟

  2. محمد گفت:

    اوکی ممنون

    اطلاعات محله و … که فکر کنم باید توی متن اگهی زده بشه یا بصورت برچسب باشه

    در اصل ما میخواستیم ی سایت مثل کاشانو بسازیم مخصوصاً قسمت جستجوش / ولی خب هنوز راه کار خاصی پیدا نکردیم

  3. بیتا گفت:

    سلام وقت بخیر. من یه سوالی دارم که نتونستم جایی جوابی براش پیداکنم.
    یه تعداد فایل دارم که می خوام قابلیت جستجو براشون بزارم. این فایلها رو باید کجای وردپرس بزارم که وقتی اسمشون سرچ شد بتونه پیداش کنه وردپرس؟
    خیلی ممنون میشم اگر کمکم کنید.

    • سلام. افزونه هایی رو داریم تحت عنوان Media Search که توی کل فایل ها و رسانه های بارگذاری شده توی سایت جستجو می کنند. فکر کنم به کار شما بیاد.

ثبت دیدگاه جدید:

جهت رسیدگی به دیدگاه خود از زبان فارسی استفاده کنید!