public function display_product_overview_page() { $api_client = DyronicsConnect_API_Client::get_instance(); $online_products = $api_client->get_online_products(); if (!$online_products || !isset($online_products['offers'])) { echo '
'; echo '

Productoverzicht

'; echo '

Geen producten gevonden die online staan bij Bol.com.

'; echo '
'; return; } error_log('Online producten: ' . print_r($online_products, true)); // Voeg deze regel toe voor extra logging $online_eans = array_map(function($offer) { return $offer['ean']; }, $online_products['offers']); // Voeg paginering toe $page = isset($_GET['paged']) ? intval($_GET['paged']) : 1; $products_per_page = 10; $offset = ($page - 1) * $products_per_page; // Voeg filteropties toe $filter_status = isset($_GET['filter_status']) ? sanitize_text_field($_GET['filter_status']) : ''; // Haal WooCommerce producten op $args = array( 'post_type' => 'product', 'posts_per_page' => $products_per_page, 'paged' => $page, 'meta_query' => array( array( 'key' => '_sku', 'value' => $online_eans, 'compare' => 'IN' ) ), ); if ($filter_status) { $args['meta_query'][] = array( 'key' => '_stock_status', 'value' => $filter_status, 'compare' => '=' ); } $query = new WP_Query($args); echo '
'; echo '

Productoverzicht

'; echo '
'; echo ''; echo ''; echo ''; echo '
'; if ($query->have_posts()) { echo '

Producten

'; echo ''; echo ''; echo ''; while ($query->have_posts()) { $query->the_post(); $product = wc_get_product(get_the_ID()); $ean = $product->get_sku(); $offer_id = $product->get_meta('bol_offer_id'); $bol_price = ''; if ($offer_id) { $offer_data = $api_client->get_offer_price($offer_id); if (isset($offer_data['pricing']['bundlePrices'][0]['unitPrice'])) { $bol_price = $offer_data['pricing']['bundlePrices'][0]['unitPrice']; } } $has_buy_box = $product->get_meta('has_buy_box'); echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; } echo ''; echo '
ProductPrijsVerkoopprijs Bol.comLevertijdVoorraadEANKoopblok
' . esc_html($product->get_name()) . '' . esc_html($product->get_price()) . '' . esc_html($bol_price) . '' . esc_html($product->get_meta('delivery_time')) . '' . esc_html($product->get_stock_quantity()) . '' . esc_html($ean) . ''; if ($has_buy_box === 'yes') { echo ''; } else { echo ''; } echo '
'; // Paginering $total_products = $query->found_posts; $total_pages = $query->max_num_pages; echo '
'; if ($total_pages > 1) { $page_links = paginate_links(array( 'base' => add_query_arg('paged', '%#%'), 'format' => '', 'prev_text' => __('«'), 'next_text' => __('»'), 'total' => $total_pages, 'current' => $page )); echo '
' . $page_links . '
'; } echo '
'; } else { echo '

Geen producten gevonden die online staan bij Bol.com.

'; } wp_reset_postdata(); echo '
'; }