【问题标题】:show query meta_key_value including null value显示查询 meta_key_value 包括空值
【发布时间】:2021-03-07 01:30:42
【问题描述】:

我正在尝试在 WordPress 中按自定义字段的 meta_value_num 排序进行简单查询,问题是并非所有输入都有值,因此它给了我一个空值,并且在查询中显示得不是很好,它只显示有价值的,我有这个代码

  <ul class="post">
                <?php $paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
                $args = array(
                    'post_type'   => 'post',
                    'paged'       => $paged,
                    'meta_key'    => 'votes_count', 
                    'orderby'     => 'meta_value_num', 
                    'order'       => 'DESC',
                    'post_status' => 'publish'
                ); 
                $the_query = new WP_Query( $args );
                if ( $the_query->have_posts() ) :
                    while ( $the_query->have_posts() ) : $the_query->the_post();
                        get_template_part( 'public/partials/template/loop' );
                    endwhile; ?> 
                    <li class="numeration">
                        <div class="paginavi">
                             <?php YESPLEASE_Add_Theme_Support::yesplease_pagination(); ?>  
                        </div>
                    </li>
                <?php endif;?>                  
            </ul>

【问题讨论】:

    标签: mysql wordpress meta nul


    【解决方案1】:

    您可以使用meta_query 试试下面的代码。

    $args = array(
        'post_type'   => 'post',
        'paged'       => $paged,
        'meta_key'    => 'votes_count', 
        'orderby'     => 'meta_value_num', 
        'order'       => 'DESC',
        'post_status' => 'publish',
        'meta_query' => array(
            array(
                'key' => 'votes_count',
                'value'   => array(''),
                'compare' => 'NOT IN'
            )
        )
    ); 
    

    【讨论】:

      【解决方案2】:

      它只显示具有价值的那些,因为这正是你要求它做的事情。

      我能想到的反驳方法是在管理面板中将其设为必填字段,或者使用 ACF 等其他方式将其包含在 post 对象中。

      ACF 是最强大的插件,主题是添加易于在所有帖子类型中访问的自定义字段,具有广泛且易于阅读文档。通过使用 ACF,您可以在后期编辑屏幕中将其设为必填值,或者您可以将其设为默认值,例如 0 而不是 NULL。

      【讨论】:

        猜你喜欢
        • 2015-07-01
        • 2012-12-29
        • 1970-01-01
        • 2017-07-12
        • 2012-11-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-30
        相关资源
        最近更新 更多