WooCommerce: Cum să elimini page-title de pe pagina principală/magazin dar nu și de pe paginile de categorie
Am setat pagina "magazin" ca pagină principală și vreau să elimin titlul implicit WooCommerce de pe pagina principală a site-ului. Am golit titlul dar tot primesc o etichetă goală ca aceasta pe pagina principală:
<h1 class="woocommerce-products-header__title page-title"></h1>
Aceasta creează o zonă goală deasupra conținutului care este deranjantă. Am încercat următoarele soluții și funcționează DAR titlul paginii pentru paginile de categorii ar fi și el eliminat. Vreau ca titlul să fie eliminat doar pe pagina principală.
Prima soluție: Am adăugat următorul cod în stilul meu:
.woocommerce-page .page-title { display: none; }
Am adăugat următorul cod în functions.php
add_filter('woocommerce_show_page_title', '__return_false');
Repet, aceste soluții fac ceea ce ar trebui să facă, dar vreau ca page-title pentru categorii să rămână și doar titlul pentru pagina principală să fie eliminat.

Filtrul woocommerce_show_page_title
afișează titlul paginii dacă argumentul furnizat este true
. Funcția transformă argumentul în true
pentru toate paginile care "nu sunt pagina magazin" și în false
pentru pagina magazin.

Am înțeles, dar cred că nu am fost niciodată într-o situație în care să folosesc return boolval
în WordPress pentru a determina dacă sunt pe pagina magazin sau nu. Aș argumenta că acea parte ar trebui să fie mai ușor de scris.

Bună, poți face acest lucru și sper că va funcționa și pentru tine
<?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 ''; ?>
}
} ?>
Pentru mai multe informații accesează acest link

Câteva metode alternative pentru a face acest lucru:
- Eliminați codul de titlu din home.php al temei dumneavoastră
- Creați un șablon pentru pagina de produse
- Pentru pagina de start, dacă utilizați frontpage.php, atunci este destul de ușor să-l eliminați de acolo. Altfel, puteți folosi ultimul punct menționat mai jos
- Accesați page.php și scrieți o instrucțiune condițională simplă pentru a verifica dacă este vorba de pagina de start sau nu. O referință pentru această instrucțiune condițională din WP codex se găsește aici
https://developer.wordpress.org/reference/functions/is_home/

poți suprascrie șablonul WooCommerce "archive-product.php" în tema ta curentă și înlocui cu acest cod.
<?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; ?>
Pentru referință eticheta condițională a WooCommerce
SAU
<?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; ?>

Acest fișier se află în directorul de pluginuri. Nu anulează modificarea lui scopul creării unei teme copil? Adică, nu pot schimba lucrurile în tema mea copil, astfel încât să nu trebuiască să mă îngrijorez de actualizările sau modificările pe care le pot crea pluginurile?

da, nu există nicio problemă cu actualizările pluginurilor atunci când suprascrieți șablonul în temă. referință pentru modul de suprascriere a fișierului de șablon WooCommerce în tema copil: https://v4.datafeedr.com/documentation/580

Tocmai am făcut asta pentru site-ul meu, dar într-un mod mai ocolit.
- Am editat fișierul archive-product.php în editorul de fișiere al temei și am schimbat:
<h1 class="entry-title"><?php woocommerce_page_title(); ?></h1>
În:
<h6 class="entry-title"><?php woocommerce_page_title(); ?></h6>
- Apoi am editat pagina de stiluri și am adăugat:
h6 {display: none;}
Evident, nu ar trebui să folosești această soluție dacă ai titluri h6 în codul tău, dar pentru o soluție simplă, funcționează.
