Last active
September 6, 2020 19:21
-
-
Save baikaresandip/32ba7723f76083ec1a7a2732f1e9be96 to your computer and use it in GitHub Desktop.
Custom Woocommerce Product template with pagination
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* @author Baikare Sandeep | |
* | |
* Template Name: Product | |
*/ | |
get_header(); ?> | |
<?php | |
$args = array( | |
'posts_per_page'=> 12, | |
'post_type' => 'product', | |
'post_status' => 'publish', | |
'paged' => get_query_var('paged') ? get_query_var('paged') : 1 | |
); | |
?> | |
<div class="container marginT10P"> | |
<div id="products" class="row view-group"> | |
<?php $the_query = new WP_Query( $args ); | |
if ( $the_query->have_posts() ) { | |
global $wpdb; | |
while ( $the_query->have_posts() ) : | |
$the_query->the_post(); | |
$image = wp_get_attachment_image_src( get_post_thumbnail_id( $the_query->post->ID ), 'single-post-thumbnail' ); | |
?> | |
<div class="item col-xs-4 col-md-6 col-lg-4"> | |
<div class="thumbnail card"> | |
<div class="img-event"> | |
<a href="<?php the_permalink(); ?>"><img class="group list-group-image img-fluid propertysize" src="<?php echo $image[0]; ?>" alt="<?php get_post_meta( $attachment_id, '_wp_attachment_image_alt', true ); ?>" alt="" /></a> | |
</div> | |
<div class="caption card-body"> | |
<?php global $woocommerce; | |
$currency = get_woocommerce_currency_symbol(); | |
$price = get_post_meta( get_the_ID(), '_regular_price', true); | |
?> | |
<h4 class="group card-title inner list-group-item-heading text-grey"><?php echo $currency; echo $price; ?> pcm</h4> | |
<i class="fa fa-bath"></i> <?php echo $product->get_attribute( 'bathrooms' ); ?> | |
<div class="icon-marginL10"><i class="fa fa-bed"></i> <?php echo $product->get_attribute( 'bedrooms' ); ?></div> | |
<div class="icon-marginL10"><i class="fa fa-couch"></i> <?php echo $product->get_attribute( 'lounges' ); ?></div> | |
<p class="group inner list-group-item-text bold no-margin font-size14 text-grey"><?php the_title(); ?></p> | |
<p class="group inner list-group-item-text font-size14"><?php echo get_post_meta( get_the_ID(), 'grid-description', true ); ?></p> | |
<div class="row"> | |
<div class="col-xs-12 col-md-6 col-lg-6 text-left tabletL-margin"> | |
<a class="btn btn-primary padding40 bold" href="<?php the_permalink(); ?>">Full Details</a> | |
</div> | |
<div class="col-xs-12 col-md-6 col-lg-6 text-right"> | |
<a class="btn btn-success padding20 bold" href="<?php echo esc_url( home_url( '/request-call-back' ) ); ?>">Arrange To View</a> | |
</div> | |
</div> | |
</div> | |
<div class="img-event"> | |
<a class="btn btn-danger padding40 width100 bold" href="tel:01472222333">Call 01472 222333</a> | |
</div> | |
</div> | |
</div> | |
<?php | |
endwhile; | |
$big = 999999999; // need an unlikely integer | |
echo paginate_links( array( | |
'base' => str_replace( $big, '%#%', get_pagenum_link( $big ) ), | |
'format' => '?paged=%#%', | |
'current' => max( 1, get_query_var('paged') ), | |
'total' => $the_query->max_num_pages | |
) ); | |
wp_reset_postdata(); | |
} else { | |
echo __( 'No products found' ); | |
} | |
?> | |
</div> | |
</div> | |
<?php | |
get_footer(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment