Add product archive header template and re-hook (#33681)
* Add product archive header template and re-hook Moves the product taxonomy archive header into its own template file, creates a related output function, and then re-hooks the new template back into the archive-product.php file in the same place, via the 'woocommerce_before_main_content' hook, priority 40. This is so that this template part can be removed/unhooked via the 'remove_action' function, which is a cleaner approach than template overrides or additional style changes. Resolves: #33672 * add product archive header template changelog * bump template versions * bump template versions correctly * add a new hook in the archive-product.php template for the header template
This commit is contained in:
parent
8e200a35b7
commit
7fe00de727
|
@ -0,0 +1,4 @@
|
|||
Significance: minor
|
||||
Type: add
|
||||
|
||||
Add new product archive header template and hook into woocommerce_before_main_content
|
|
@ -1245,6 +1245,15 @@ if ( ! function_exists( 'woocommerce_template_loop_category_link_close' ) ) {
|
|||
}
|
||||
}
|
||||
|
||||
if ( ! function_exists( 'woocommerce_product_taxonomy_archive_header' ) ) {
|
||||
/**
|
||||
* Output the products header on taxonomy archives.
|
||||
*/
|
||||
function woocommerce_product_taxonomy_archive_header() {
|
||||
wc_get_template( 'loop/header.php' );
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! function_exists( 'woocommerce_taxonomy_archive_description' ) ) {
|
||||
/**
|
||||
* Show an archive description on taxonomy archives.
|
||||
|
|
|
@ -53,6 +53,13 @@ add_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20, 0 )
|
|||
*/
|
||||
add_action( 'woocommerce_sidebar', 'woocommerce_get_sidebar', 10 );
|
||||
|
||||
/**
|
||||
* Archive header.
|
||||
*
|
||||
* @see woocommerce_product_taxonomy_archive_header()
|
||||
*/
|
||||
add_action( 'woocommerce_shop_loop_header', 'woocommerce_product_taxonomy_archive_header' );
|
||||
|
||||
/**
|
||||
* Archive descriptions.
|
||||
*
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
*
|
||||
* @see https://woo.com/document/template-structure/
|
||||
* @package WooCommerce\Templates
|
||||
* @version 3.4.0
|
||||
* @version 8.6.0
|
||||
*/
|
||||
|
||||
defined( 'ABSPATH' ) || exit;
|
||||
|
@ -28,23 +28,15 @@ get_header( 'shop' );
|
|||
*/
|
||||
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; ?>
|
||||
/**
|
||||
* Hook: woocommerce_shop_loop_header.
|
||||
*
|
||||
* @since 8.6.0
|
||||
*
|
||||
* @hooked woocommerce_product_taxonomy_archive_header - 10
|
||||
*/
|
||||
do_action( 'woocommerce_shop_loop_header' );
|
||||
|
||||
<?php
|
||||
/**
|
||||
* Hook: woocommerce_archive_description.
|
||||
*
|
||||
* @hooked woocommerce_taxonomy_archive_description - 10
|
||||
* @hooked woocommerce_product_archive_description - 10
|
||||
*/
|
||||
do_action( 'woocommerce_archive_description' );
|
||||
?>
|
||||
</header>
|
||||
<?php
|
||||
if ( woocommerce_product_loop() ) {
|
||||
|
||||
/**
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
<?php
|
||||
/**
|
||||
* Product taxonomy archive header
|
||||
*
|
||||
* This template can be overridden by copying it to yourtheme/woocommerce/loop/header.php.
|
||||
*
|
||||
* HOWEVER, on occasion WooCommerce will need to update template files and you
|
||||
* (the theme developer) will need to copy the new files to your theme to
|
||||
* maintain compatibility. We try to do this as little as possible, but it does
|
||||
* happen. When this occurs the version of the template file will be bumped and
|
||||
* the readme will list any important changes.
|
||||
*
|
||||
* @see https://docs.woocommerce.com/document/template-structure/
|
||||
* @package WooCommerce\Templates
|
||||
* @version 8.6.0
|
||||
*/
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
?>
|
||||
<header class="woocommerce-products-header">
|
||||
<?php
|
||||
/**
|
||||
* Hook: woocommerce_show_page_title.
|
||||
*
|
||||
* Allow developers to remove the product taxonomy archive page title.
|
||||
*
|
||||
* @since 2.0.6.
|
||||
*/
|
||||
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.
|
||||
*
|
||||
* @since 1.6.2.
|
||||
* @hooked woocommerce_taxonomy_archive_description - 10
|
||||
* @hooked woocommerce_product_archive_description - 10
|
||||
*/
|
||||
do_action( 'woocommerce_archive_description' );
|
||||
?>
|
||||
</header>
|
Loading…
Reference in New Issue