WooCommerce: Come rimuovere il titolo della pagina nella home/shop ma non nelle pagine delle categorie
Ho impostato la pagina "shop" come pagina iniziale e voglio rimuovere il titolo predefinito di WooCommerce dalla home page del sito. Ho svuotato il titolo ma ottengo ancora un tag vuoto come questo nella home page:
<h1 class="woocommerce-products-header__title page-title"></h1>
Questo crea un'area vuota sopra il contenuto che è fastidiosa. Ho provato le seguenti soluzioni e funzionano MA il titolo della pagina verrebbe rimosso anche per le pagine delle categorie. Voglio che il titolo venga rimosso solo nella home page.
Prima soluzione: Ho aggiunto il seguente codice al mio foglio di stile:
.woocommerce-page .page-title { display: none; }
Ho aggiunto il seguente codice al file functions.php
add_filter('woocommerce_show_page_title', '__return_false');
Ripeto, queste soluzioni fanno quello che dovrebbero ma voglio che il titolo della pagina per le categorie rimanga e venga rimosso solo il titolo della home page.

Il filtro woocommerce_show_page_title
mostra il titolo della pagina se l'argomento fornito è true
. La funzione imposta l'argomento a true
per tutte le pagine che "non sono la pagina del negozio" e false
per la pagina del negozio.

Capito, ma credo di non essermi mai trovato nella posizione di usare return boolval
in WordPress per determinare se ero nella pagina del negozio o meno. Direi che quella parte dovrebbe essere più semplice da scrivere.

Ciao, puoi fare questa cosa e spero che funzioni anche per te
<?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 ''; ?>
}
} ?>
Per maggiori informazioni preferisci questo link

Alcuni modi alternativi per farlo:
- Rimuovi il codice del titolo dal file home.php del tuo tema
- Crea un template per la pagina dei prodotti
- Per la homepage, se stai usando frontpage.php è abbastanza semplice rimuoverlo da lì. Altrimenti, puoi usare l'ultimo punto menzionato sotto
- Vai al tuo page.php e scrivi una semplice istruzione condizionale per verificare se si tratta della homepage o meno. Un riferimento a questa istruzione condizionale dal codice WP è qui
https://developer.wordpress.org/reference/functions/is_home/

Puoi sovrascrivere il template di WooCommerce "archive-product.php" nel tuo tema corrente e sostituirlo con questo codice.
<?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; ?>
Per riferimento tag condizionali di WooCommerce
OPPURE
<?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; ?>

Questo file si trova nella cartella dei plugin. Modificarlo non va contro lo scopo di creare un tema child? Voglio dire, non posso modificare le cose all'interno del mio tema child così da non dovermi preoccupare di eventuali aggiornamenti o modifiche apportate dai plugin?

No, non ci sono problemi con gli aggiornamenti dei plugin quando si sovrascrivono i template nel tema. Ecco un riferimento su come sovrascrivere i file template di Woocommerce in un tema child: https://v4.datafeedr.com/documentation/580

Ho appena fatto questo per il mio sito web, ma in un modo più indiretto.
- Ho modificato il mio file archive-product.php nell'editor dei file del tema e ho cambiato:
<h1 class="entry-title"><?php woocommerce_page_title(); ?></h1>
In:
<h6 class="entry-title"><?php woocommerce_page_title(); ?></h6>
- Poi ho modificato il foglio di stile e ho aggiunto:
h6 {display: none;}
Ovviamente non dovresti usare questa soluzione se hai titoli h6 nel tuo codice, ma per una soluzione semplice, funziona.
