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

"Filter: bricks/terms/query_vars"


title: "Filter: bricks/terms/query_vars" description: متغیرهای Query را می‌توان قبل از اجرای Query به صورت زیر دستکاری کرد:


متغیرهای Query را می‌توان قبل از اجرای Query به صورت زیر دستکاری کرد:

add_filter( 'bricks/terms/query_vars', function( $query_vars, $settings, $element_id, $element_name ) {
    $query_vars['exclude'] = 23; // Exclude term id 23

    return $query_vars;
}, 10, 4 );

پاسخ تماس فیلتر سه آرگومان دریافت می‌کند:

  • $query_vars یک آرایه انجمنی که برای تغذیه کلاس WP_Term_Query استفاده می‌شود
  • $settings یک آرایه انجمنی حاوی تنظیمات عنصر تنظیم شده در سازنده
  • $element_id یک رشته حاوی شناسه عنصر منحصر به فرد است
  • $element_name رشته ای است حاوی نام عنصر (@since 1.11.1)

Example 1: Exclude the current term from the query

در داخل یک صفحه بایگانی اصطلاح، برای حذف عبارت فعلی از Query:

// Exclude current term from the terms query loop on term archive pages.
add_filter( 'bricks/terms/query_vars', function( $query_vars, $settings, $element_id, $element_name ) {
    if ( $element_id !== 'uxtkgn' ) {
        return $query_vars;
    }

    $query_vars['exclude'] = get_queried_object_id();

    return $query_vars;
}, 10, 4 );

که در آن uxtkgn شناسه Bricks عنصری است که حلقه query روی آن فعال است.

Example 2: Get terms assigned to a post

در این مثال، ما می‌خواهیم فقط عباراتی را که به یک شناسه پست خاص اختصاص داده شده است (همان خروجی تابع وردپرس wp_get_object_terms() دریافت کنیم:

add_filter( 'bricks/terms/query_vars', function( $query_vars, $settings, $element_id, $element_name ) {
    if ( $element_id !== 'mjvhur' ) {
        return $query_vars;
    }

    $query_vars['object_ids'] = get_the_ID();

    return $query_vars;
}, 10, 4 );