Php 在Wordpress中显示具有特定元值的帖子

Php 在Wordpress中显示具有特定元值的帖子,php,wordpress,Php,Wordpress,我有一个功能,可以在wordpress中显示自定义帖子类型的帖子: 代码: 以下是您可以使用的代码: <?php $args = array( 'post_type' => 'todo_listing', 'posts_per_page' => 4, 'order' => 'asc', 'meta_value' => '0' ); $loop = new WP_

我有一个功能,可以在wordpress中显示自定义帖子类型的帖子:

代码:



    以下是您可以使用的代码:

    <?php
    $args = array(
              'post_type' => 'todo_listing',
              'posts_per_page' => 4,
              'order' => 'asc',
              'meta_value' => '0'
              );
     $loop = new WP_Query( $args );
    ?>     
    
    <?php
    while ( $loop->have_posts() ) : $loop->the_post();
    ?>
    <?php if(get_post_meta(get_the_ID(), 'checkbox_meta', true) == 0) { ?>
    <?php echo get_the_ID();?> <?php the_title(); ?>
    <?php } ?>
    
    <?php
    endwhile;
    ?>  
    
    
    

    我认为您遗漏了一些细节,但是假设代码
    打印出给定的html,那么我认为这可能会起作用。如果问题无法解决,请与我联系。

    您只需对查询做一个小的更改,就可以解决问题

    $args = array(
                  'post_type' => 'todo_listing',
                  'posts_per_page' => 4,
                  'order' => 'asc',
                  'meta_query' => array(
                      array(
                          'key' => 'checkbox_meta',
                          'value' => '1',
                          'compare' => 'IN',
                          )
                      )
                  );
    $loop = new WP_Query( $args );
    
    它接受键
    复选框\u meta
    并检查其值是否为1。如果没有,则无法获取数据

    因此,应将
    复选框\u meta
    设置为1,以获得前4个


    Readmore:section
    'orderby'带有“meta_值”和自定义帖子类型

    这是个坏主意。用户希望显示4篇文章。这将隐藏任何与检索到的4不匹配的内容。@Prathik,谢谢..我已经编辑了上面的php代码以显示html是如何工作的rendered@NathanDawsonOP没有展示html是如何呈现的,所以我只想展示他如何区分元数据为0和1的帖子。谢谢,这不起作用,因为他们的键不是复选框,而是帖子的id。有什么办法吗?
    <li class="todo" id="1013" itemage=""><a href="javascript:;" class="">
        <span class="check_box"></span>
        <p>Some Text here</p></a>
    </li>
    
    <?php
    $args = array(
              'post_type' => 'todo_listing',
              'posts_per_page' => 4,
              'order' => 'asc',
              'meta_value' => '0'
              );
     $loop = new WP_Query( $args );
    ?>     
    
    <?php
    while ( $loop->have_posts() ) : $loop->the_post();
    ?>
    <?php if(get_post_meta(get_the_ID(), 'checkbox_meta', true) == 0) { ?>
    <?php echo get_the_ID();?> <?php the_title(); ?>
    <?php } ?>
    
    <?php
    endwhile;
    ?>  
    
    $args = array(
                  'post_type' => 'todo_listing',
                  'posts_per_page' => 4,
                  'order' => 'asc',
                  'meta_query' => array(
                      array(
                          'key' => 'checkbox_meta',
                          'value' => '1',
                          'compare' => 'IN',
                          )
                      )
                  );
    $loop = new WP_Query( $args );