Включить значение из настраиваемого поля в аргументы wp_tag_cloud

#php #wordpress #tags

#php #wordpress #Теги

Вопрос:

Используя короткий [tagsListfoot] код, я показываю облако меток в подвале сайта. Теперь это выглядит так:

 add_shortcode( 'tagsListfoot', 'getTagListfoot' );
    function getTagListfoot() {
    global $post;

    $args = array( 
        'taxonomy'  => 'tags_type',
        'order'     => 'RAND',
        'number'    => '10',
    );
    wp_tag_cloud( $args );
}

 

У каждого тега есть настраиваемое поле (2 радио — «да» и «нет»). Возможно ли добавить значение из пользовательского поля в аргументы cloud? В идеале вы должны выводить теги только со значением «yes».

Я пробую что-то вроде этого, но это не помогает (

     add_shortcode( 'tagsListfoot', 'getTagListfoot' );
    function getTagListfoot() {
    global $post;
    $tag_footer = ( 'yes' == get_term_meta( $tag->term_id, 'pokazat-v-podvale' ) );

    $args = array( 
        'taxonomy'  => 'tags_type',
        'order'     => 'RAND',
        'number'    => '10',
        'include'   => $tag_footer,
    );
    wp_tag_cloud( $args );
}
 

Комментарии:

1. Добавьте запрос пользовательского поля к своим аргументам. developer.wordpress.org/reference/classes/wp_query /…

Ответ №1:

Спасибо за совет @CBroe

Действительно, можно также использовать meta_query для запроса значения пользовательского поля. Вот что произошло:

 add_shortcode( 'tagsListfoot', 'getTagListfoot' );
    function getTagListfoot() {
    global $post;
    
    $args = array( 
        'taxonomy'  => 'tags_type',
        'order'     => 'RAND',
        'number'    => '10',
        'meta_query' => array(
        array(
            'key'     => 'show_in_foot',
            'value'   => 'yes',
            'compare' => 'IN',
        ),
    ),
    );
    wp_tag_cloud( $args );
}