Created
December 22, 2023 14:51
-
-
Save SirDarcanos/ad6fc792537199565667cd9b8a5e9f5a to your computer and use it in GitHub Desktop.
Customizing Vendor Shop Pages in WooCommerce: A Step-by-Step Guide
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 | |
/** | |
* @template Custom Product Vendor Catalog Page | |
* @author Nicola Mustone | |
* @author_url https://nicolamustone.blog/2014/10/15/show-custom-template-vendor-shop-pages/ | |
* @tested-up-to WooCommerce 8.4.X | |
*/ | |
defined( 'ABSPATH' ) || exit; | |
get_header( 'shop' ); | |
/** | |
* Hook: woocommerce_before_main_content. | |
* | |
* @hooked woocommerce_output_content_wrapper - 10 (outputs opening divs for the content) | |
* @hooked woocommerce_breadcrumb - 20 | |
* @hooked WC_Structured_Data::generate_website_data() - 30 | |
*/ | |
do_action( 'woocommerce_before_main_content' ); | |
?> | |
<header class="woocommerce-products-header"> | |
<?php if ( apply_filters( 'woocommerce_show_page_title', true ) ) : ?> | |
<h1 class="woocommerce-products-header__title page-title"><?php woocommerce_page_title(); ?></h1> | |
<?php endif; ?> | |
<?php | |
/** | |
* Hook: woocommerce_archive_description. | |
* | |
* @hooked woocommerce_taxonomy_archive_description - 10 | |
* @hooked woocommerce_product_archive_description - 10 | |
*/ | |
do_action( 'woocommerce_archive_description' ); | |
echo "<div class='vendor-search-form' style='margin-top:30px;margin-bottom:30px'>" . get_product_search_form() . "</div>"; | |
?> | |
</header> | |
<?php | |
if ( woocommerce_product_loop() ) { | |
?> | |
<h2><?php woocommerce_page_title(); ?> Products Catalog</h2> | |
<?php | |
/** | |
* Hook: woocommerce_before_shop_loop. | |
* | |
* @hooked woocommerce_output_all_notices - 10 | |
* @hooked woocommerce_result_count - 20 | |
* @hooked woocommerce_catalog_ordering - 30 | |
*/ | |
do_action( 'woocommerce_before_shop_loop' ); | |
woocommerce_product_loop_start(); | |
if ( wc_get_loop_prop( 'total' ) ) { | |
while ( have_posts() ) { | |
the_post(); | |
/** | |
* Hook: woocommerce_shop_loop. | |
*/ | |
do_action( 'woocommerce_shop_loop' ); | |
wc_get_template_part( 'content', 'product' ); | |
} | |
} | |
woocommerce_product_loop_end(); | |
/** | |
* Hook: woocommerce_after_shop_loop. | |
* | |
* @hooked woocommerce_pagination - 10 | |
*/ | |
do_action( 'woocommerce_after_shop_loop' ); | |
} else { | |
/** | |
* Hook: woocommerce_no_products_found. | |
* | |
* @hooked wc_no_products_found - 10 | |
*/ | |
do_action( 'woocommerce_no_products_found' ); | |
} | |
/** | |
* Hook: woocommerce_after_main_content. | |
* | |
* @hooked woocommerce_output_content_wrapper_end - 10 (outputs closing divs for the content) | |
*/ | |
do_action( 'woocommerce_after_main_content' ); | |
/** | |
* Hook: woocommerce_sidebar. | |
* | |
* @hooked woocommerce_get_sidebar - 10 | |
*/ | |
do_action( 'woocommerce_sidebar' ); | |
get_footer( 'shop' ); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment