簡體   English   中英

WP查詢分類職位

[英]WP Query taxonomy posts

我正在從頭開始構建wordpress主題。 我有這個分類法:

add_action( 'init', 'create_cat_slider' );

function create_cat_slider() {
    register_taxonomy(
        'sliderType','post',
        array(
            'label' => __( 'Slider' ),
            'hierarchical' => true,
        )
    );
}

我有兩個與此分類相關的帖子 在此處輸入圖片說明

在此處輸入圖片說明

現在,我有以下循環。 它應該為滑塊創建兩個按鈕(與分類法相關的帖子數應等於創建的按鈕數)。 如上所述,我必須發布與分類法相關的帖子。 問題是執行WHILE之后,我將得到7個按鈕。 在過去的幾個小時中,一直試圖為此尋求解決方案。 即使將食典作為我的第一個主題放在前面,我仍然很難做到。

                    $args = array(
                        'tax_query' => array(
                            'taxonomy' => 'sliderType'
                        )
                    );
                    $custom_query = new WP_Query( $args );

                    if($custom_query->have_posts()) :
                        //echo $custom_query->found_posts;
                        $i = 0;
                        while ( $custom_query->have_posts() ) : $custom_query->the_post();
                            if($i == 0)
                                $active = 'class="active"';
                            else
                                $active = '';

                            echo '<a href="#" data-target="#bigSlider" data-slide-to="' . $i . '" ' . $active . '></a>';
                            $i++;    
                        endwhile;
                    endif;
                    wp_reset_postdata();

LE:當前版本的代碼:分類法

add_action( 'init', 'create_cat_slider' );

    function create_cat_slider() {
        register_taxonomy(
            'slider_ype','post',
            array(
                'label' => __( 'Slider' ),
                'hierarchical' => true,
                'rewrite' => array( 'slug' => 'slidertype' )
            )
        );
    }

詢問

                $args = array(
                    'tax_query' => array
                    (
                        array(
                            'taxonomy' => 'slidertype',
                            'field' => 'slug',
                            'terms' => 'slidertype'
                        )
                    )
                );
                $custom_query = new WP_Query( $args );

沒有簡單的方法來查詢附加到特定分類法的所有帖子。

唯一的方法是獲取所有附加到分類法的術語,然后將所有術語ID傳遞到自定義查詢中的tax_query

您可以嘗試以下操作:( 需要PHP 5.4+,這只是重要的部分。還請注意,您拼寫了sliderType ;-)

$term_ids = get_terms( 'sliderType', ['fields' => 'ids'] );
$args = [
    'tax_query' => [
        [
            'taxonomy' => 'sliderType',
            'terms' => $term_ids
        ]
    ]
];
$custom_query = new WP_Query( $args );

但是,如果您只需要查詢分類法中特定術語的帖子,則只需將術語ID或帶有相關字段值的子句傳遞給查詢

$args = [
    'tax_query' => [
        [
            'taxonomy' => 'sliderType',
            'field' => 'slug',
            'terms' => 'relevant-term-slug'
        ]
    ]
];
$custom_query = new WP_Query( $args );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM