get_template_directory_uri() în tema copil indică spre directorul temei copil
Conform documentației (https://codex.wordpress.org/Child_Themes și https://developer.wordpress.org/reference/functions/get_template_directory_uri/), înțeleg că get_template_directory_uri()
ar trebui să returneze URL-ul directorului temei părinte atunci când este utilizat într-o temă copil. Dar acest lucru nu se întâmplă în cazul meu.
În tema copil pe care încerc să o dezvolt, când folosesc get_template_directory_uri()
acesta returnează URL-ul pentru directorul temei copil, nu directorul temei sale părinte. Dacă fac click pe Detalii Temă pentru tema copil în pagina de gestionare a temelor, WordPress indică că tema este o temă copil a altei teme, exact cum mă așteptam. Am o
Template: parent
linie în style.css al temei copil.
Alte fapte relevante:
- Folosesc WordPress Multi-Site
- Am dezvoltat tema părinte și o folosesc pentru unul dintre celelalte site-uri din Multi-Site și funcționează perfect
- Ambele teme (părinte și copil) sunt activate la nivel de Rețea și accesibile în site-ul la care lucrez
- Am încercat să setez tema copil să indice spre tema twentyfourteen și observ același comportament, deci nu cred că este o problemă cu tema părinte
- Am dezactivat toate plugin-urile pentru a vedea dacă vreunul dintre ele era problema, fără succes - niciunul dintre plugin-uri nu pare să fie cauza
- Am creat o copie a temei twentyfourteen și am făcut-o temă copil a temei mele părinte și apare aceeași problemă
- În copia mea a temei twentyfourteen, am adăugat apoi și o linie Template: în style.css pentru a o face temă copil a temei twentyfourteen și observ același comportament (adică, pagina de gestionare a temelor indică că tema copiată este copil al temei twentyfourteen dar funcția get_template_directory_uri nu îmi dă directorul temei părinte)
Are cineva sugestii despre care ar putea fi problema aici? Sau interpretez greșit modul în care ar trebui să funcționeze get_template_directory_uri()
?

Ceea ce aveți nevoie este get_stylesheet_directory_uri
, care funcționează exact la fel ca get_template_directory_uri
, dar va returna directorul temei copil dacă utilizați o temă copil și va returna directorul temei părinte dacă nu.
echo get_stylesheet_directory_uri();

Mulțumesc pentru răspuns, dar folosesc un child theme și încerc să obțin fișierul de stiluri al părintelui, nu al copilului. Urmez instrucțiunile de pe https://codex.wordpress.org/Child_Themes pentru a încărca fișierul de stiluri al părintelui împreună cu cel al copilului în child theme, dar funcția get_template_directory_uri() pe care o folosesc în exemplul lor returnează URL-ul child theme-ului, ceea ce nu mă ajută să obțin URL-ul pentru fișierul de stiluri al părintelui.

CAUZĂ
OK, după ce am analizat codul WordPress și baza de date, problema era
get_option('template')
care este apelat de
wp-includes/theme.php : get_template()
returna tema copil, în loc de tema părinte, dar doar pentru un anumit site din rețeaua mea multi-site. Când am verificat în tabelul wp_{SITE-ID}_options pentru acel site, înregistrarea din baza de date unde
option_name = "template"
înregistrarea indica spre tema copil, nu spre tema părinte. Nu sunt sigur de ce secțiunea "Detalii temă" din Panoul de administrare afișa că tema copil problematică era o temă copil, când înregistrarea din baza de date nu era corectă.
Nu sunt sigur de ce această înregistrare din baza de date a fost afectată, dar când încercam inițial să dezvolt tema copil problematică, aceasta a stricat întreaga rețea WordPress Multi-Site (inclusiv Panoul de administrare), așa că am redenumit temporar folderul temei pe server pentru a forța WordPress să revină la o temă implicită - poate aceasta a fost cauza.
SOLUȚIE
Schimbarea temei la o altă temă și apoi revenirea la tema copil a rezolvat problema - acest lucru a determinat înregistrarea relevantă din baza de date (adică option_name = "template" din wp_{SITE-ID}_options) să fie setată la valoarea corectă, adică tema părinte.

Ești eroul. Mulțumesc că ai împărtășit soluția ta aici. Am preluat o temă "copil" prost făcută care nu se referea corect la tema părinte. Soluția ta a fost exact ceea ce era necesar.
