Ovo ti je dio funckije iz plugina koji radi to sve i tu trebam zapravo izmanipultirai dio OFFSET:
public function dwe_get_woo_products() {
if ( ! isset( $_POST['dwe_get_woo_products_nonce'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_POST['dwe_get_woo_products_nonce'] ) ), 'dwe-woo-products-nonce' ) ) {
return;
}
if ( ! isset( $_POST['props'] ) ) {
return;
}
$defaults = array(
'order_class' => '',
'view_type' => 'default',
'use_current_loop' => 'off',
'product_layout' => 'layout1',
'products_number' => '10',
'offset_number' => 0,
'products_order' => 'ASC',
'products_order_by' => 'title',
'hide_out_of_stock' => 'off',
'enable_out_of_stock_label' => 'off',
'out_of_stock_label' => esc_html__( 'Out of Stock', 'divi-woocommerce-extended' ),
'include_categories' => '',
'include_tags' => '',
'taxonomies_relation' => 'OR',
'use_masonry' => 'off',
'enable_quickview' => 'off',
'quickview_link_text' => esc_html__( 'Quickview', 'divi-woocommerce-extended' ),
'quickview_link_icon' => '',
'show_quickview_icon_only' => 'off',
'show_thumbnail' => 'on',
'thumbnail_size' => 'woocommerce_thumbnail',
'show_price' => 'on',
'show_rating' => 'off',
'show_add_to_cart' => 'on',
'simple_add_to_cart_text' => '',
'variable_add_to_cart_text' => '',
'grouped_add_to_cart_text' => '',
'external_add_to_cart_text' => '',
'out_of_stock_add_to_cart_text' => '',
'show_add_to_cart_on_hover' => 'off',
'add_to_cart_icon_desktop' => '',
'add_to_cart_icon_tablet' => '',
'add_to_cart_icon_phone' => '',
'show_sale_badge' => 'on',
'sale_badge_text' => 'label',
'sale_label_text' => '',
'title_level' => 'h4',
'quickview_add_to_cart_icon_desktop' => '',
'quickview_add_to_cart_icon_tablet' => '',
'quickview_add_to_cart_icon_phone' => '',
'quickview_title_level' => 'h2',
'is_product_category' => false,
'is_product_tag' => false,
'is_product_taxonomy' => false,
'is_user_logged_in' => false,
'is_search' => false,
'term_id' => '',
'term_slug' => '',
'taxonomy' => '',
'search_query' => '',
'page' => 1,
'total_pages' => 1,
'is_search' => false,
'search_term' => '',
'min_price' => '',
'max_price' => '',
'sorting' => 'off',
'sort_orderby' => '',
'override_wishlist_setting' => 'off',
'display_wishlist_button' => '',
'wishlist_button_position' => '',
'wishlist_button_type' => '',
);
foreach ( $defaults as $key => $default ) {
// phpcs:ignore ET.Sniffs.ValidatedSanitizedInput.InputNotSanitized
${$key} = trim( sanitize_text_field( wp_unslash( et_()->array_get( $_POST['props'], $key, $default ) ) ) );
}
$processed_title_level = esc_html( $title_level );
$valid_heading_tag = array( 'h1', 'h2', 'h3', 'h4', 'h5', 'h6' );
if ( ! in_array( $processed_title_level, $valid_heading_tag, true ) ) {
$processed_title_level = esc_html( 'h4' );
}
$quickview_title_level = esc_html( $quickview_title_level );
if ( ! in_array( $quickview_title_level, $valid_heading_tag, true ) ) {
$quickview_title_level = esc_html( 'h4' );
}
$products_number = ( 0 === $products_number ) ? -1 : (int) $products_number;
$products_number = $product_per_page;
$page = absint( $page );
$offset_number = ( $page * ( $page - 1 ) ) + $offset_number;
$args = array(
'post_type' => 'product',
'posts_per_page' => intval( $products_number ),
'offset' => intval( $products_number ),
'post_status' => 'publish',
'orderby' => 'date',
'order' => 'DESC',
);
Dakle sada mi je puknulo da zapravo tu vrijednost koja me muči bi trebao zapisati na svaku promijenu kada se mijenja dropdown.
On ti to sprema kada sam gledao inspect, network xhr>>
…/wp-admin/admin-ajax.php
action “dwe_get_woo_products”
props[products_number] “12”
I tu vrijednost vuče iz plugina iz baze podataka koliko je postavljeno na samom modulu.
Gornji offset ako direktno stavim tipa 5 u funkciji
‘offset’ => intval( $products_number ),
‘offset’ => 24;
Onda uzima tu vrijednost. I ako je na stranici 24 komada po stranici, to radi sve super.
Dakle taj offset trebam da se vuče dinamički.
Ili točnije tu vrijednost trebam izmanipulirati kod AJAX akcije na klik.
Inače svaki link na brojevima paginacije ima parametar s ISPRAVNIM trenutnim brojem po stranici.
Možda da to iskoristim?