🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۴ فراز توانا
صفحه بندی در ajax
جامعه وردپرس (برنامه نویسی) ایجاد شده در ۲۷ شهریور ۱۴۰۰

سلام و عرض ادب خدمت استاد عزیز

یه مشکلی هست اینکه من به فیلتر نوشتم برای ووکامرس حالا وقتی فیلتر انجام میشه صفحه بندی درست کار نمی‌کنه یعنی اگر در حالت کلی 2 صفحه داشته باشیم بعد فیلتر باید بر اساس اون تعداد محصول برگشتی شماره صفحات رو نشون بده در حالی که اگر محصولی هم پیدا نشه همون تعداد صفحات نشون داده میشه .

میشه راهنمایی کنین که چیکار میشه کرد؟

سلام خدمت شما. لطفا کدهاتون رو در همین بخش بفرستید بررسی کنیم.

کیوان علی محمدی ۲۷ شهریور ۱۴۰۰، ۰۷:۴۵
$("body").on("click", ".checkbox-item,.change-price,.custome-checkbox", function (e) {
    e.preventDefault();
    // $(this).toggleClass('ch');
    if ($(this).find("input").prop("checked")) {
      $(this).find("input").prop("checked", false);
    } else {
      $(this).find("input").prop("checked", true);
    }
    let minPrice = $('.noUi-handle-lower').attr('aria-valuenow');
    let maxPrice = $('.noUi-handle-lower').attr('aria-valuemax');
    let data = jQuery(this).find("span");
    let attrName = data.data('attr-type');
    let attrSlug = data.data('size-slug');
    let pg_nm = $(".page-link").val();
    if (filter_data[attrName] == undefined) {
      filter_data[attrName] = [];
    }
    if (attrSlug !== undefined) {
      var filter_name = attrSlug;
      if (Object.values(filter_data[attrName]).indexOf(filter_name) > -1) {
        let index = Object.values(filter_data[attrName]).indexOf(filter_name);
        filter_data[attrName].splice(index, 1);
      } else {
        filter_data[attrName].push(filter_name);
      }
    }
    $.ajax({
      type: "POST",
      url: ajax_url_object.ajax_url,
      data: {
        action: "get_product_filter",
        filter_data: filter_data,
        page_number: page_number,
        min_price: minPrice,
        max_price: maxPrice,
        pg_nm: pg_nm
      },
      dataType: "json",
      beforeSend: function (xhr) {
        $(".container-lg").addClass("loading");
      },
      success: function (response) { },
      error: function (xhr) {
        if (xhr.status == 200) {
          $(".container-lg").removeClass("loading");
          $(".product-row").html(xhr.responseText);
          goTo("", "", $("#filtered_url").attr("data-url"));
        }
        if ($(".do-pagination").length > 0) {
          $(".pagination")
              .html("")
              .html($(data.body).find(".pagination").html());
        } else {
          var pgn = $(data.body).find(".pagination").html()
              ? $(data.body).find(".pagination").html()
              : "";
          var pfp =
              '<nav class="mt-5 do-pagination" aria-label="pagination"><ul class="pagination pagination-lg justify-content-center justify-content-md-end">' +
              pgn +
              "</ul></nav>";
          $(pfp).insertAfter(".products-row");
        }
      },
    });
  });
فراز توانا ۲۷ شهریور ۱۴۰۰، ۰۸:۱۳

البته قسمت مربوط به بررسی صفحه رو بعدا اضافه کردم که تاثیری نداشت

فراز توانا ۲۷ شهریور ۱۴۰۰، ۰۸:۲۰

چرا کدهای بررسی pagination رو داخل error قرار دادین و بخش success کاملا خالیه؟

کیوان علی محمدی ۳۰ شهریور ۱۴۰۰، ۰۸:۱۸