[英]How do I properly hook to customize my WooCommerce shop page?
我正在從頭開始創建一個主題,並且我已經安裝了 WooCommerce。 但是,我正在嘗試自定義產品存檔頁面。 我特別想在任何 WooCommerce 內容之前有一個橫幅。 下面的代碼來自我的functions.php 。
add_action( 'woocommerce_before_main_content', 'shop_banner', 35);
function shop_banner(){
echo '<h1>Hello</h1>';
}
當我調用這個鈎子時,什么也沒有發生。
但是當我調用“ woocommerce_before_shop_loop ”鈎子時,它會工作並顯示內容(但這不是我想要顯示內容的地方)。
我決定測試它,看看這個鈎子是否在其他地方工作,所以我將它添加到我的woocommerce.php文件中。 下面是我添加時的代碼。
<?php get_header() ;
do_action( 'woocommerce_before_main_content' );?>
<div class="container woocommerce p-5">
<?php woocommerce_content(); ?>
</div>
<?php get_footer() ?>
我這樣做時顯示的內容。 但我不希望它出現在每一頁上,只出現在我的存檔頁面上。 所以它看起來很好,但它不想顯示在存檔-product.php頁面上。 下面的代碼是我存檔頁面的第一部分,它是直接從 woocommerce 模板文件夾復制而來的。
/**
* 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' );
?>
</header>
任何幫助或想法將不勝感激。 另外我只使用了大約一周的 WooCommerce 所以我對插件很陌生。
您可以在鈎子中添加條件。 查看WooCommerce 文檔上的條件標簽
add_action( 'woocommerce_before_main_content', 'shop_banner', 35);
function shop_banner(){
if(!is_shop()){
echo '<h1>Hello</h1>';
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.