簡體   English   中英

如何正確掛鈎自定義我的 WooCommerce 商店頁面?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM