Wordpress中的帖子过滤返回所有帖子

时间:2020-10-27 16:39:26

标签: php wordpress

我具有此功能,可以按字段和分类法筛选帖子。问题是,当我使用分类过滤器时,它不起作用,并且返回所有未过滤的帖子。 我没有包括js文件,因为ajax运行良好。

这是functions.php中的PHP:

 function post_filter()
    {
    $number = $_POST['number'];
    $autor = $_POST['autor'];

    $args = array(
            'post_type' => 'publicaciones',
            'orderby'   => 'date',
            'order'     => 'ASC',
            'meta_key'  => 'numero',
            'meta_value'=> $number
    );

    if( isset( $autor ) )
             $args['tax_query'] = array(
                     array('taxonomy' => 'autors',
                             'field' => 'id',
                             'terms' => $autor)
     );

  $query = new WP_Query( $args );

  if( $query->have_posts() ) :
      while( $query->have_posts() ): $query->the_post();
            //Post content
        endwhile;
        wp_reset_postdata();
    else :
        echo 'No results.';
    endif;

    wp_die();
}

这是表格:

                <form action="<?php echo site_url() ?>/wp-admin/admin-ajax.php" method="POST" class="my-5" id="buscador_numero">
                    <div class="row">
                        <div class="col-3">
                            <?php
                            if( $terms = get_terms( array( 'taxonomy' => 'autors', 'orderby' => 'name' ) ) ) :
                              echo '<select name="autor"><option value="">Autor/a</option>';
                              foreach ( $terms as $term ) :
                                echo '<option value="' . $term->term_id . '">' . $term->name . '</option>';
                              endforeach;
                              echo '</select>';

                            endif;
                          ?>
                        </div>
                        <div class="col-2">
                            <input type="number" class="w-100 p-2" name="number" placeholder="Número">
                        </div>
                        <div class="col-2">
                            <button id="btn_buscar"><span class="dashicons dashicons-search"></span></button>
                        </div>
                    </div>
                        <input type="hidden" name="action" value="post_filter">
                </form>

预先感谢:)

0 个答案:

没有答案