Are you looking for the best way to create an archive product php WooCommerce code that allows you to display WooCommerce products in a custom archive template? If you are looking for the code that will help you to quickly create the custom archive template in WooCommerce, this post will guide you.
Archive Product PHP WooCommerce
To create a WooCommerce archive product PHP page template you need to first understand how you create a custom page template.
You should also understand that for most WooCommerce default pages you can override them by creating your custom pages in your theme. WooCommerce documentation states the following about creating an archive page for the products :
If your theme has a woocommerce.php file, you will be unable to override the woocommerce/archive-product.php custom template in your theme, as woocommerce.php has priority over other template files. This is intended to prevent display issues.
The following is the code you can add to your custom archive product page and this can be customized further to make it suitable for your specific needs. For example in a recent project I needed to create a custom archive page as shown in the image below :
To create a custom archive page you will need to override the existing templates and you can use the code below to create your custom WooCommerce archive page.
[php] <?php/**
* The Template for displaying product archives, including the main shop page which is a post type archive.
*
* Override this template by copying it to yourtheme/woocommerce/archive-product.php
*
* @author WooThemes
* @package WooCommerce/Templates
* @version 2.0.0
*/
if ( ! defined( ‘ABSPATH’ ) ) exit; // Exit if accessed directly
get_header(‘shop’); ?>
<!– body content –>
<section class="body-content">
<!– left –>
<div class="left">
<?php
/**
* woocommerce_before_main_content hook
*
* @hooked woocommerce_output_content_wrapper – 10 (outputs opening divs for the content)
* @hooked woocommerce_breadcrumb – 20
*/
do_action(‘woocommerce_before_main_content’);
?>
<?php if ( apply_filters( ‘woocommerce_show_page_title’, true ) ) : ?>
<!– <h1 class="page-title"><?php woocommerce_page_title(); ?></h1> –>
<?php endif; ?>
<?php do_action( ‘woocommerce_archive_description’ ); ?>
<?php if ( have_posts() ) : ?>
<?php
/**
* woocommerce_before_shop_loop hook
*
* @hooked woocommerce_result_count – 20
* @hooked woocommerce_catalog_ordering – 30
*/
do_action( ‘woocommerce_before_shop_loop’ );
?>
<?php woocommerce_product_loop_start(); ?>
<?php woocommerce_product_subcategories(); ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php woocommerce_get_template_part( ‘content’, ‘product’ ); ?>
<?php endwhile; // end of the loop. ?>
<?php woocommerce_product_loop_end(); ?>
<?php
/**
* woocommerce_after_shop_loop hook
*
* @hooked woocommerce_pagination – 10
*/
do_action( ‘woocommerce_after_shop_loop’ );
?>
<?php elseif ( ! woocommerce_product_subcategories( array( ‘before’ => woocommerce_product_loop_start( false ), ‘after’ => woocommerce_product_loop_end( false ) ) ) ) : ?>
<?php woocommerce_get_template( ‘loop/no-products-found.php’ ); ?>
<?php endif; ?>
<?php
/**
* woocommerce_after_main_content hook
*
* @hooked woocommerce_output_content_wrapper_end – 10 (outputs closing divs for the content)
*/
do_action(‘woocommerce_after_main_content’);
?>
</div>
<!– end left –>
<!– right –>
<div class="right">
<?php include(‘right-sidebar.php’); ?>
</div>
<!– end right –>
<div class="clear"></div>
</section>
<!– end body content –>
<?php get_footer(‘shop’); ?>
[/php]
Conclusion
In this post, I have outlined the way you can create a custom WooCommerce archive product page and how you can use this code to further customize WooCommerce by creating your custom layout and overriding the default WooCommerce page template such as the default WooCommerc product archive template.
Joe is an experienced full-stack web developer with a decade of industry experience in the LAMP & MERN stacks, WordPress, WooCommerce, and JavaScript – (diverse portfolio). He has a passion for creating elegant and user-friendly solutions and thrives in collaborative environments. In his spare time, he enjoys exploring new tech trends, tinkering with new tools, and contributing to open-source projects. You can hire me here for your next project.
Similar Articles
- How to Create Login Page In WordPress Without Using Plugin
- How Get Order meta_data In WooCommerce
- How to Get Current User Role in WordPress & Display Roles
- First 20 Steps for WordPress Complete Beginners to Get Started
- How to Change Post Date Programmatically In WordPress
- How to Get Product Image src WooCommerce
- How to Create Popups in WordPress Without Installing a Plugin
- How to Change WooCommerce Email Colors
- How to Redirect User If Not Logged in WordPress » Page Redirect
- How to Set WooCommerce Different Sidebar For Each Category
- How to Make WordPress Site Look Good
- How to Redirect a WordPress Page Without Plugins?
- How to Get Last Order by User Id WooCommerce
- WordPress Get Post Category Snippet & Guide
- How to Change Email Template in WooCommerce
- How to Delete a Category in WordPress
- Elementor Review 2021 » Features, Pros, Cons, Pricing & Tutorial
- How to Create Number Pagination in WordPress Without Using Plugin