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

اگه سایت خودتون رو با وردپرس ساختین و میخواید به فرم جستجوی پیشرفته به سایت خودتون اظافه کنید این پست رو بخونید 😀 توی این پست میخوام بهتون آموزش بدم که چجوری یه صفحه ی search.php همراه با یه فرم جستجوی پیشرفته توی اون بسازیم. برای ساختن فرم جستجوی پیشرفته با مراحل زیر با ما همراه باشید: (فایل مربوط به این جستجوی پیشرفته یعنی search.php رو میتونید از انتهای این پست به صورت یک فایل فشرده شده دانلود کنید و درون پوشه ی مربوط به پوسته ی خودتون قرار بدید). این فرم رو روی یکی از پروژه هام قرار دادم و میتونید پیش نمایشش رو از اینجا ببینید, البته در اینجا بهش css نمیدم پس رنگ و لعابش رو خودتون با توجه به شکل و شمایل سایتتون تغییر بدید

مرحله اول: به درون مسیر پوسته ی خودتون برید و یه فایل با نام search.php ایجاد کنید , دستورات درون این فایل هنگامی که عمل سرچ کردن رو انجام بدید اجرا میشن. حالا دستورات زیر رو درون این فایل وارد کنید:

در دستورات بالا ابتدا با استفاده از تابع have_posts چک میکنیم اگه مطلبی موجود بود اون رو با استفاده از حلقه while دریافت میکنیم و نشون میدیم , این قسمت فقط وظیفه ی نمایش مطالب رو به عهده داره حالا در مرحله ی بعد میایم و اینکه چه مطالبی رو نشون بده مشخص میکنیم , به مرحله دوم دقت کنید

مرحله دوم: دستورات زیر رو به ابتدای دستورات قبلی درون فایل Search.php اظافه کنید

در دستورات بالا یک فرم ساختیم که عمل جستجو رو با توجه به این فرم انجام میدیم , دقت کنید که method این فرم باید get باشه.

مرحله سوم: خب کار تموم شد , برای دسترسی به فرم جستجو فقط کافیه که url شبیه www.yoursite.com/?s رو درون نوار ادرس مرورگر خودتون قرار بدید و اینتر بزنید (در اینجا منظور از yoursite دامنه ی سایت شما است و همچنین com رو با توجه به دامنه خودتون تغییر بدید.) , فایل search.php حاصل رو که در اینجا ساختیم میتونید به صورت کامل از انتهای پست دانلود کنید و درون پوسته ی خودتون قرار بدید.

نکات تکمیلی : در اینجا یک سری نکات تکمیلی رو میگم تا بتونید فرم های جستجوی مورد نظر خودتون رو بسازید , به نکات زیر دقت کنید:

در قسمت جستجوی وردپرس همه ی جستجوها با توجه به کوئری استرینگ (query string) که در انتهای URL قرار میدهیم انجام میشوند , این کوئری استرینگ ها با استفاده از علامت سوال ؟  شروع می شوند و با استفاده از اندپرساین & از هم جدا می شوند برای دوستان علاقمند یه لیست از این کوئری استرینگ ها رو در پایین ذکر میکنم تا بتونن ازشون استفاده کنند و فرم جستجوی مورد نظر خودشون رو بسازن:

  1. کوئری auther_name : جستجو رو بر اساس نام نویسنده پست انجام می دهد یعنی همه پست هایی رو نشون میده که نویسنده آنها برابر با مقداری که شما تعیین کردید باشه.

  2. کوئری category_name : پست هایی رو نشون میده که موضوع آنها برابر با چیزی است که شما توسط category_name تعیین کردید.

  3. کوئری s : این کوئری شامل متنی خواهد بود که قراره درون پست های شما جستجو بشه مثلا اگه قراره درون پست های خودتون درباره ی کلمه ی red جستجو کنید این کوئری رو میتونید به صورت www.yoursite.com/?s=red اجرا کنید تا تمام پست هایی که توشون کلمه Red هست رو بهتون نشون بده.

  4. کوئری pagename : این کوئری نام صفحه ای رو مشخص میکنه که میخواید نمایش داده بشه.

  5. کوئری tag : این کوئری جستجو رو بر اساس تگ انجام میده

  6. کوئری post_type : جستجو را بر اساس نوع پست انجام میدهد (نوع پست مثلا میتونه استاندارد یا ویدیو و یا …).

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

صفحه ی search.php همراه با فرم جستجوی پیشرفته
1.7 KiB
43 Downloads
اطلاعات بیشتر
به اشتراک بگذارید:Email this to someoneShare on FacebookTweet about this on TwitterShare on Google+Digg thisShare on LinkedInPin on PinterestShare on StumbleUponFlattr the authorShare on RedditBuffer this pageShare on TumblrPrint this pageShare on YummlyShare on VK
  1. حمیدرضا

    سلام ببخشد میشه کمکم کنید قرار پرژه ببرم دانشگاه از هرکی پرسیدم بلد نبود چطور میتونم یک تگ
    select درست کنم مثل استان = البرز. مشهد وغیره هرکدوم انتخاب شد جستو جو کنه ؟
    ممنون میشم راهنمایی کنید

    • سلام دوست عزیز، کار بسیار راحتیه، کافیه رویداد onchange را برای تگ select تنظیم کنید و با این رویداد موقع انتخاب شدن هر اپشن کار خاصی انجام دهید. اگه بازم متوجه نشدید بگید براتون یک نمونه مثال بسازم و ایمیل کنم. موفق و سربلند باشید.

  2. حمیدرضا

    درواقع میخوام این عکس رو میخوام درست کنم تورخدا کمک کنید هزینهشم میدم چون دوشنبه باید پروژه رو تحویل بدم فقط همین جستوجو مونده این عکس رو میخوام درست کنم
    http://uupload.ir/files/g5r_11-24-2015_8-27-08_am.jpg

    ممنون میشم ایمیل هم بکنید

    • سلام دوست گرامی. این اسکریپت رو برای شما آماده میکنم و تا یکشنبه شب برای شما ارسال خواهد شد, نیاز به پرداخت هزینه نیست. موفق باشید.

  3. حمیدرضا

    یه دنیا ممنونم ازشما واقعا کلی بهم کمک کردید

    • سلام دوست عزیز براتون نمونه ای از دریافت اطلاعات رو ساختم که میتونید از اینجا(کلیک کنید) دانلودش کنید و استفاده کنید. این یک مثال ساده است و میتونه با استفاده از دیتابیس پیاده سازی بشه و کار پیچیده تر بشه. بازم اگه مشکل یا سوالی داشتید بپرسید حتما پاسخ میدم.

  4. حمیدرضا

    سلام بله دقیقا همونه ولی این مقادیر میخوام جستو جو بشه اونم توی قالب وردپرس اما مقادیر رو چاپ میکنه !

    • من فک کردم فقط میخواید داده ها رو توسط فرم دریافت کنید. برای اینکه جستجو درون پست های وردپرس انجام بده کافیه کلمه ای که میخواید رو به صورت کوئری به انتهای لینک اظافه کنید که این کوئری باید درون کلید s قرار بگیره مثلا:
      http://www.yoursite.com?s=golestan
      در مثال بالا تمام پست هایی که توش کلمه ی golestan وجود داشته باشه از وردپرس جستجو میشود و به شما نمایش داده خواهد شد.

  5. جواد طامهری

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

می‌خواهید دیدگاهتان را بیان کنید؟