#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 );
}