web-dev-qa-db-fra.com

Woocommerce: Comment supprimer le titre de la page sur la page maison/boutique, mais pas les pages de catégorie

J'ai défini la page "boutique" comme page d'accueil et je souhaite supprimer le titre par défaut de woocommerce de la page d'accueil du site. J'ai vidé le titre mais j'ai toujours une étiquette vide comme celle-ci sur la page d'accueil:

<h1 class="woocommerce-products-header__title page-title"></h1>

Cela crée une zone vide au-dessus du contenu, ce qui est agaçant. J'ai essayé les solutions suivantes et elles fonctionnent MAIS la page de titre pour les pages de catégorie serait également supprimée . Je veux que le titre seulement à la page d'accueil soit supprimé.

  1. Première solution: j'ai ajouté le code suivant à mon style:

    .woocommerce-page .page-title {
    
     display: none;
    
    }
    
  2. Ajout de ce qui suit à function.php

    add_filter('woocommerce_show_page_title', '__return_false');
    

Je répète, ces solutions font ce qu’elles sont censées faire mais je veux que le titre de la page pour les catégories reste et que seul le titre de la page d’accueil soit supprimé.

4
user7432810

vous pouvez écraser le modèle woocommerce de "archive-product.php" dans votre thème actuel et le remplacer par ce code.

<?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; ?>

Pour référence balise conditionnelle de woocommerce

OU

<?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; ?>
1
Jignesh Patel

Bonjour vous pouvez faire cette chose et j'espere que ce travail pour vous aussi

 <?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 ''; ?>
    }
  } ?>

Pour plus Préférez ce lien

2
Niket Joshi

Au lieu de pirater des modèles, vous pouvez mettre cela dans functions.php de votre thème enfant:

add_filter( 'woocommerce_show_page_title', 'not_a_shop_page' );
function not_a_shop_page() {
    return boolval(!is_shop());
}
2
Ryszard Jędraszyk

Peu de façons alternatives de le faire:

  1. Supprimer le code du titre de home.php de votre thème
  2. Créer un modèle pour la page de produits
  3. Pour la page d'accueil, si vous utilisez frontpage.php, il est assez facile de le supprimer. Sinon, vous pouvez utiliser le dernier point mentionné ci-dessous
  4. Allez sur votre page.php et écrivez une simple déclaration conditionnelle pour vérifier si c'est une page d'accueil ou non. Une référence de cette instruction conditionnelle de WP codex est ici

https://developer.wordpress.org/reference/functions/is_home/

1
Deepak Jain