پرش به محتویات

معیارهای جستجو (Search Criteria)

Bricks 2.2 یک روش قدرتمند جدید برای کنترل نحوه تولید نتایج جستجو معرفی می‌کند، چه جستجو از طریق:

  • جستجوی native وردپرس (از طریق المان Search)، یا
  • المان Filter – Search — ویژگی Query Filters

فعال شده باشد.

با Search Criteria، می‌توانید دقیقاً مشخص کنید Bricks باید کجا جستجو کند: post fields، term fields، user fields و هر custom meta field. این کنترل بسیار بیشتری نسبت به جستجوی پیش‌فرض وردپرس "s" به شما می‌دهد و امکان رفتار جستجوی کاملاً سفارشی در سراسر سایت را فراهم می‌کند.

یادداشت

Search Criteria یک search index جداگانه نمی‌سازد و نگه‌داری نمی‌کند. فیلدهای انتخاب‌شده پایگاه داده وردپرس را در زمان query جستجو می‌کند.

Override جستجوی native وردپرس (پارامتر «s»)

جستجوی native وردپرس معمولاً از طریق المان Search فعال می‌شود و نتایج در Search Result template قرار می‌گیرند.

به‌طور پیش‌فرض، وردپرس تنها post field های زیر را جستجو می‌کند:

  • post_title
  • post_content
  • post_excerpt

اگر می‌خواهید این رفتار را override یا توسعه دهید، تنظیمات باید داخل Search Result template شما پیکربندی شوند.

Search Criteria در Search Result Template

Search Criteria در template نتایج جستجو

داخل سازنده، Search Result template خود را باز کنید → Template Settings → بخش Search Criteria.

Custom search criteria: همه تنظیمات جستجوی موجود را برای کنترل رفتار جستجوی native s نمایش می‌دهد.

Use weight score (اختیاری): وقتی فعال است، Bricks یک ranking score بر اساس مقادیر weight تعریف‌شده محاسبه می‌کند و نتایج را بر اساس آن مرتب می‌کند. بیشتر در مورد weight scoring.

Search Controls (Posts)

Search post fields — فعال کنید تا مشخص کنید کدام post field های استاندارد وردپرس باید جستجو شوند.

Search post meta fields — می‌توانید هر meta key ای اینجا اضافه کنید (custom fields) تا آن‌ها را در معیارهای جستجو قرار دهید.

مهم

مطمئن شوید main Query Loop داخل Search Result template گزینه «Is main query» را فعال دارد. در غیر این صورت native search override اعمال نمی‌شود.

پس از پیکربندی، یک جستجو در frontend انجام دهید و نتایج شما از معیارهای تعریف‌شده در Search Result template پیروی خواهند کرد.

وقتی Query Filters در Bricks فعال است، می‌توانید سیستم‌های فیلترینگ پیشرفته برای هر Query Loop در هر صفحه‌ای بسازید.

قبل از Bricks 2.2، المان Filter – Search همیشه از منطق پیش‌فرض "s" وردپرس استفاده می‌کرد. حالا می‌توانید criteria جستجوی سفارشی per filter element تعریف کنید. داخل تنظیمات المان Filter – Search، اکنون بخش Search Criteria را خواهید دید.

جستجوی Meta field

فیلدهای Post Object، Relationship و User در ACF، Meta Box و JetEngine معمولاً ID ها را در post meta ذخیره می‌کنند. Search Criteria مقدار raw meta را جستجو می‌کند و به‌طور خودکار آن ID ها را به post title های مرتبط، post content یا user display name ها resolve نمی‌کند. برای جستجوی آن label ها، آن‌ها را در یک meta field متنی جداگانه و قابل جستجو ذخیره کنید و آن meta key را در Search Criteria قرار دهید.

Post Query

Search post fields — فعال کنید تا مشخص کنید آیا باید در Title، Content و Excerpt جستجو کند.

Search post meta fields — می‌توانید هر meta key ای اینجا اضافه کنید (custom fields) تا آن‌ها را در معیارهای جستجو قرار دهید.

Search post terms — term های اختصاص‌داده‌شده taxonomy های انتخاب‌شده را بر اساس نام term، slug و توضیحات جستجو کنید. برای product categories، برچسب‌ها، brand ها یا سایر روابط taxonomy-based مفید است.

Term Query

Search term fields — فعال کنید تا مشخص کنید آیا باید در Name، Slug و Description جستجو کند.

Search term meta fields — می‌توانید هر meta key ای اینجا اضافه کنید (custom fields) تا آن‌ها را در معیارهای جستجو قرار دهید.

User Query

Search user fields — فعال کنید تا مشخص کنید آیا باید در Username، Nicename، Email، URL و Display name جستجو کند.

Search user meta fields — می‌توانید هر meta key ای اینجا اضافه کنید (custom fields) تا آن‌ها را در معیارهای جستجو قرار دهید.

«Use weight score» چیست؟

Weight score به شما اجازه می‌دهد ترتیب نتایج جستجو را کنترل کنید. هرچه weight score برای یک search field خاص بالاتر باشد، اگر آن field با search term مطابقت داشته باشد، نتیجه بالاتر ظاهر می‌شود.

نکات مهم

  • برای اینکه ranking اعمال شود باید Use weight score را فعال کنید.
  • اگر یک فیلتر Sort فعال باشد، ترتیب‌دهی weight-score را override خواهد کرد.

مثال: نحوه کار weight scoring

پیکربندی Search Criteria:

Search post fields: - Title → weight 1 - Content → weight 1

Search post meta fields: - my_field → weight 3

Search term: «car»

پست‌های matched:

Post ID پیدا شده در Weight
1001 Title 1
1002 Title + Content 1 + 1 = 2
1003 my_field 3

ترتیب نهایی نتایج: 1003, 1002, 1001