Задать вопрос
@Lolut

Как вывести посты из текущей категории через loadmore?

Если я например нахожусь на какой-то категории в post_type faqs и хочу вывести из этой категории посты относящийся к ней. то выводятся только посты из всего post_type faqs. Как сделать c помощью load_more, чтобы выводились посты из категории на которой я нахожусь?
<div class="page-faq__dropdowns" id="ajax-posts">
                        <?php
                        $paged = (get_query_var('paged')) ? get_query_var('paged') : 0;
                        $postsPerPage = 6;
                        $postOffset = $paged * $postsPerPage;
                        $args = array(
                           'post_type' => 'faqs',
                           'posts_per_page' => $postsPerPage,
                           'offset' => $postOffset,
                           'tax_query' => array(
                              array(
                                 'taxonomy' => 'tuts_faq_tax',
                                 'field' => 'slug',
                                 'terms' => $term->slug
                              )
                           ),
                        );
                        $loop = new WP_Query($args);
                        if ($loop->have_posts()) {
                           while ($loop->have_posts()) {
                              $loop->the_post();
                              get_template_part('template-parts/faqs/faq');
                           }
                        }
                        wp_reset_postdata();
                        ?>
                     </div>
                     <a href="#!" id="load-more" class="btn btn-primary">load more</a>

<script type="text/javascript">
      jQuery(document).ready(function($) {
         var ppp = 6;
         var pageNumber = 1;
         var cat_id = '<?php echo $term->name; ?>';
         function load_posts() {
            pageNumber++;
            $.ajax({
               type: "POST",
               dataType: "html",
               url: my_ajax_object.ajax_url,
               data: {
                  action: 'more_post_ajax',
                  pageNumber: pageNumber,
                  category: cat_id,
               },
               success: function(data) {
                  var $data = $(data);
                  if ($data.length) {
                     $("#ajax-posts").append($data);
                     $("#load-more").attr("disabled", false);
                  } else {
                     $("#load-more").hide();
                  }
               },
               error: function(jqXHR, textStatus, errorThrown) {
                  console.log('Error')
               }
            });
            return false;
         }
         $("#load-more").on("click", function(e) {
            $("#load-more").attr("disabled", true);
            load_posts();
         });

      });
   </script>

Пытался добавить 'tax_query' в функцию more_post_ajax, но кнопка при нажатии просто исчезает. Буду благодарен за любую помощь.
function more_post_ajax()
{
    $ppp = (isset($_POST["ppp"])) ? $_POST["ppp"] : 6;
    $page = (isset($_POST['pageNumber'])) ? $_POST['pageNumber'] : 0;
    $category = $_POST['category'];
    header("Content-Type: text/html");
    $args = array(
        'suppress_filters' => true,
        'post_type' => 'faqs',
        'posts_per_page' => $ppp,
        'post_status' => 'publish',
        'paged'    => $page,
        'tax_query' => array(
            array(
                'taxonomy' => 'tuts_faq_tax',
                'field' => 'slug',
                'terms' =>  $category
            )
        ),
    );
    $loop = new WP_Query($args);
    if ($loop->have_posts()) :  while ($loop->have_posts()) : $loop->the_post();
            get_template_part('template-parts/faqs/faq');
        endwhile;
    endif;
    wp_reset_postdata();
    die;
}
add_action('wp_ajax_nopriv_more_post_ajax', 'more_post_ajax');
add_action('wp_ajax_more_post_ajax', 'more_post_ajax');
  • Вопрос задан
  • 72 просмотра
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы