Mijn onderstaande php code in woocommerce geeft maar 10 On Sale resultaten weer op een pagina.
Als ik het stukje waarin ik de pre-orders uitsluit van weergave, weghaal, dan zie ik wel alle On Sale resultaten met paginering MAAR ook de Pre-orders. Ik wil juist alleen de On sale producten zien. Volgens mij is er qua code niets fout maar waarom reduceert hij de resultaten naar 10 stuks als ik alleen aangeef dat hij de pre-orders niet moet laten zien? Iemand een idee? Dit is de code:
<?php get_header(); /* Template Name: On sale Template */ ?>
<article>
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'paged' => $paged,
'post_type' => 'product',
'stock' => 1,
'posts_per_page' => 24,
'orderby' => 'date',
'order' => 'DESC',
'post__in' => wc_get_product_ids_on_sale(),
'fields' => 'ids', // Only get post ID's to improve performance
'meta_query' => array(
'relation' => 'AND',
array(
'key' => '_sale_price',
'compare' => 'EXISTS'
),
array(
'key' => 'product_pre_order',
'value' => '1',
'compare' => '!=',
)
)
);
$wp_query = new WP_Query($args);
?>
<section class="page-section section-onsale py-2 pt-1">
<div class="container-xxl">
<?php get_template_part('template-parts/breadcrumbs'); ?>
<div class="hstack align-items-center justify-content-between heading">
<?php if ($wp_query->have_posts()) : ?>
<h1><?= get_the_title(); ?></h1>
<?php else : ?>
<h1><?= esc_html__('Helaas, er zijn op dit moment geen aanbiedingen.'
?></h1>
<?php endif; ?>
</div>
<?php if ($wp_query->have_posts()) : ?>
<div class="row g-1 row-cols-sm-1 row-cols-md-2 row-cols-lg-4">
<?php while ($wp_query->have_posts()) : $wp_query->the_post();
global $product; ?>
<?php wc_get_template_part('content', 'product'); ?>
<?php endwhile; ?>
</div>
<?php endif; ?>
<?php include(locate_template("template-parts/pagination.php"));
wp_reset_postdata(); ?>
</div>
</section>
</article>
<?php get_footer();
Alvast super bedankt voor het meedenken! Wordt gewaardeerd.
Als ik het stukje waarin ik de pre-orders uitsluit van weergave, weghaal, dan zie ik wel alle On Sale resultaten met paginering MAAR ook de Pre-orders. Ik wil juist alleen de On sale producten zien. Volgens mij is er qua code niets fout maar waarom reduceert hij de resultaten naar 10 stuks als ik alleen aangeef dat hij de pre-orders niet moet laten zien? Iemand een idee? Dit is de code:
<?php get_header(); /* Template Name: On sale Template */ ?>
<article>
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'paged' => $paged,
'post_type' => 'product',
'stock' => 1,
'posts_per_page' => 24,
'orderby' => 'date',
'order' => 'DESC',
'post__in' => wc_get_product_ids_on_sale(),
'fields' => 'ids', // Only get post ID's to improve performance
'meta_query' => array(
'relation' => 'AND',
array(
'key' => '_sale_price',
'compare' => 'EXISTS'
),
array(
'key' => 'product_pre_order',
'value' => '1',
'compare' => '!=',
)
)
);
$wp_query = new WP_Query($args);
?>
<section class="page-section section-onsale py-2 pt-1">
<div class="container-xxl">
<?php get_template_part('template-parts/breadcrumbs'); ?>
<div class="hstack align-items-center justify-content-between heading">
<?php if ($wp_query->have_posts()) : ?>
<h1><?= get_the_title(); ?></h1>
<?php else : ?>
<h1><?= esc_html__('Helaas, er zijn op dit moment geen aanbiedingen.'
?></h1>
<?php endif; ?>
</div>
<?php if ($wp_query->have_posts()) : ?>
<div class="row g-1 row-cols-sm-1 row-cols-md-2 row-cols-lg-4">
<?php while ($wp_query->have_posts()) : $wp_query->the_post();
global $product; ?>
<?php wc_get_template_part('content', 'product'); ?>
<?php endwhile; ?>
</div>
<?php endif; ?>
<?php include(locate_template("template-parts/pagination.php"));
wp_reset_postdata(); ?>
</div>
</section>
</article>
<?php get_footer();
Alvast super bedankt voor het meedenken! Wordt gewaardeerd.