【问题标题】:Show the tag if the custom field is set to “Yes”如果自定义字段设置为“是”,则显示标签
【发布时间】:2021-01-19 19:40:32
【问题描述】:

使用下面的代码,我使用简码 [tagsListfoot] 在正确的位置输出 10 个标签:

function getTagListfoot($classes = '') {
    global $post;
    wp_tag_cloud( array( 'taxonomy' => 'tags_type', 'order' => 'RAND', 'number' => '10' ));
    $tagOutput = [];

    if (!empty($tags)) {
        array_push($tagOutput, '<ul class="tag-list '.$classes.'">');
        foreach($tags as $tag) {
            array_push($tagOutput, '<li>'.$tag->name.'</li>');
        }
        array_push($tagOutput, '</ul>');
    }

    return implode('', $tagOutput);
}

add_shortcode('tagsListfoot', 'getTagListfoot');

每个标签都有一个额外的自定义字段“在地下室输出?”带有“是”和“否”的下拉列表。在使用get_term_meta 显示标签之前,我尝试检查是否符合“是”,如下所示:

if ( 'yes' == get_term_meta('pokazat-v-podvale') ):
 array_push($tagOutput, '<li>'.$tag->name.'</li>');
endif;

但我无法得到想要的结果。所有标签仍会显示,包括具有“否”值的标签。这里可以做吗?

我将不胜感激!

....

add_shortcode( 'tagsListfoot', 'getTagListfoot' );
    function getTagListfoot() {

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

看起来臃肿的代码一开始并没有什么区别,如果简化为简单的wp_tag_cloud也是可以的

【问题讨论】:

    标签: php wordpress tags shortcode


    【解决方案1】:

    刚刚解决了同一个查询!

    试试这个:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-08
      • 1970-01-01
      • 1970-01-01
      • 2017-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多