@trenton

Как при удалении всех добавленных на страницу постов/товаров вывести сообщение, что их нет?

Через php часть или через js? Вот есть внизу страницы else, которое выводит сообщение, если там изначально ничего не добавлено, но если удаляется все добавленное, (а не изначально зашли на страницу, когда его еще нет), то после удаления последнего товара-поста надо бы вывести сообщение, что список пуст. Как правильно -в php до else указать что-то вроде if ($wp_query->the_post() == 0)... или в js в sucess как-то по-другому это указать и добавить как html?
Страница избранного(не плагин)
<?php
   /*
   Template Name: избранное
   */
   ?>
<?php get_header(); ?>
<div class="container-fluid">
   <section class="favorites">
      <div class="row">       
         <?php
            $favorite_id_array = favorite_id_array();
               global $wp_query;
               $save_wpq = $wp_query;
               $args = array(
               'paged' => get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1,
               'post_type'   =>  ['product'], 
               'posts_per_page'   =>  20,    
               'post__in'   => !empty($favorite_id_array) ? $favorite_id_array : array(0),
                );
               $wp_query = new WP_Query( $args ); 
               ?>
         <?php if ($wp_query->have_posts()) : ?>
         <?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?>            
         <div class="col-md-3 col-6 fav">
            <div class="fv_<?php echo $post->ID; ?>">
               <div class="delete-favorite" data-post_id="<?php echo $post->ID; ?>" title="Удалить из избранного">
                  <div href="#"><span class="fa-fullheart"></span></div>
               </div>
            </div>
            <a class="favdata" href="<?php the_permalink() ?>">
               <?php the_post_thumbnail('woocommerce_thumbnail'); ?>
               <div class="favdata-content">
               <h5><?php the_title(); ?></h5> 
                   <div class="favdata-content-price">
                     <?php  if (!empty($product)) {
                      echo $product->get_price_html();
                   }?></div> 
               </div>
            </a>
         </div>

         <?php endwhile; ?>
         <?php else : ?>
         <div class="col-md-8 col-12">Список избранного пуст</div>
         <?php endif; ?>
         <?php wp_reset_postdata();
          themename_blog_pagination();
            ?>
      </div>
   </section>
</div>
<?php 
   get_footer();


js часть
jQuery(function($) {
  //добавить в избранное
  $('body').on('click', '.add-favorite', function() {
    var post_id = $(this).data('post_id');
    $.ajax({
      url: "/wp-admin/admin-ajax.php",
      type: 'POST',
      data: {
        'action': 'favorite',
        'post_id': post_id,
      },
      success: function(data) {
        $('.fv_' + post_id).html('<div class="favs wish-btn-fill d-flex align-items-center already-in"><a href="/favorite/"><span class="fa-fullheart"></span></a></div>');
        $('.num-favorite').html(data);
        
      },
    });
  });
  //удалить из избранного
  $('body').on('click', '.delete-favorite', function() {
    var post_id = $(this).data('post_id');       
    $.ajax({
      url: "/wp-admin/admin-ajax.php",
      type: 'POST',
      data: {
        'action': 'delfavorite',
        'post_id': post_id,
      },
      success: function(data) {
        $('.fv_' + post_id).html('Удалено').slideToggle();
        $('.fv_' + post_id).parent('.fav').slideToggle();
        $('.num-favorite').html(data);
      },
    });
  });
});
  • Вопрос задан
  • 18 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы