Cum să utilizezi if (is_page_template('')) în WordPress
Folosesc următorul cod în functions.php. Vreau să exclud toate paginile care folosesc template-ul single.php.
function cat_menu() {
// Verifică dacă pagina nu folosește template-ul single.php
if (!is_page_template('single.php')) {
$cur_cat = get_query_var('cat');
$new_cats = wp_list_categories('echo=false&child_of=' . $cur_cat .'&depth=1&title_li=&&show_count=0&hide_empty=1');
echo '<ul>' . $new_cats . '</ul>';
}}
// Adaugă acțiunea după header în Genesis
add_action ( 'genesis_after_header', 'cat_menu' );
Dar văd rezultatul și pe paginile care folosesc single.php.
Poate cineva să mă ajute cu asta?

is_page_template()
verifică șabloanele de tip post specificate de temă folosind
/**
* Nume Șablon: Șablonul Meu
*/
la începutul fișierului șablon. Nu orice fișier șablon arbitrar. Pentru aceasta, poți verifica răspunsurile de la Obține numele fișierului șablon curent. Poți prelua codul din răspunsul acceptat acolo (get_current_template()
) pentru a face ceva când single.php === get_current_template()
.

Trebuie să utilizați următoarea funcție:
is_singular()
Funcția is_singular() verifică dacă pagina curentă este single.php.

Întotdeauna mi se pare ciudat cât de mult timp îi ia discuțiilor de pe WPSE să primească răspunsuri precise, iată un exemplu de bază despre cum să-l folosești de pe StackOverflow:
// dacă nu este un șablon de pagină specific
<?php if (!is_page_template('page-templates/all-sponsor-template.php')); ?>
// Conținut
<?php endif; ?>
// dacă este un șablon de pagină specific
<?php if (is_page_template('page-templates/all-sponsor-template.php')); ?>
// Conținut
<?php endif; ?>
Referință: https://stackoverflow.com/questions/58531957/if-is-page-template-not-working-in-header-php

Aceasta este aceeași problemă ca și în cazul is_page_template()
. get_page_template_slug()
verifică doar șabloanele personalizate pentru postări (cele cu antetele /* Template Name: ... */
). De asemenea, is_single()
nu garantează 100% că single.php
a fost încărcat, deoarece alte șabloane din ierarhie ar putea fi încărcate înaintea lui.
