WooCommerce:如何在主页/商店页面删除页面标题,而不是类别页面

时间:2017-11-23 作者:user7432810

我已经将“shop”页面设置为我的首页,我想从网站主页中删除默认的woocommerce标题。我已经清空了标题,但在主页上仍然会看到这样一个空标签:

<h1 class="woocommerce-products-header__title page-title"></h1>
这会在内容上方创建一个令人讨厌的空白区域。我尝试了以下解决方案,它们都很有效,但是the title page for category pages would be removed too. 我只想删除主页上的标题。

第一个解决方案:我在样式中添加了以下代码:

.woocommerce-page .page-title {

 display: none;

}
新增以下功能。php

add_filter(\'woocommerce_show_page_title\', \'__return_false\');
我重复一遍,这些解决方案都能做到它们应该做的事情,但我希望保留类别的页面标题,只删除主页的标题。

5 个回复
最合适的回答,由SO网友:Jignesh Patel 整理而成

您可以覆盖的woocommerce模板"archive-product.php" 并替换为此代码。

<?php if ( apply_filters( \'woocommerce_show_page_title\', true ) ) : ?>

            <?php if(!is_shop()) { ?>
            <h1 class="page-title"><?php woocommerce_page_title(); ?></h1>
            <?php } ?>
<?php endif; ?>
供参考conditional tag of woocommerce

OR

<?php if ( apply_filters( \'woocommerce_show_page_title\', true ) ) : ?>

                <?php if(is_product_category()) { ?>
                <h1 class="page-title"><?php woocommerce_page_title(); ?></h1>
                <?php } ?>
 <?php endif; ?>

SO网友:Ryszard Jędraszyk

您可以将其放入函数中,而不是黑客攻击模板。子主题的php:

add_filter( \'woocommerce_show_page_title\', \'not_a_shop_page\' );
function not_a_shop_page() {
    return boolval(!is_shop());
}

SO网友:Niket Joshi

你好,你可以做这件事,我希望这项工作也为你

 <?php
    if (!is_shop()) {
      if ( apply_filters( \'woocommerce_show_page_title\', true ) ) {  ?>
            <h1 class="page-title"><?php woocommerce_page_title(); ?></h1>
 <?php   }else{ ?>
      <h1 class="page-title"><?php echo \'\'; ?>
    }
  } ?>
更多信息Prefer this link

SO网友:meDeepakJain

很少有其他方法可以做到这一点:

从主题主页中删除标题代码。如果您使用的是frontpage,请使用php为产品页面创建主页模板。php然后很容易将其删除。否则,您可以使用下面提到的最后一点转到您的页面。并编写一个简单的条件语句来检查它是否是主页。此处引用了WP codex中的此条件语句https://developer.wordpress.org/reference/functions/is_home/

SO网友:Mr. Baka

要仅从产品页面中删除标题,需要将此代码添加到css样式中

.product-template-default .woocommerce-products-header {
   display: none;
}

结束

相关推荐