Cum obții calea către tema curentă?
Acest cod este folosit pentru a obține directorul plugin-ului curent: plugin_dir_url( __FILE__ )
.
Ce ar trebui să folosesc pentru a obține directorul temei curente?

Cred că trebuie să fii puțin atent, deoarece depinde de ceea ce încerci să realizezi.
Dacă folosești un child theme, get_template_directory();
va indica în continuare către tema părinte. În schimb, get_stylesheet_directory();
va indica către tema curentă, fie ea child sau părinte. De asemenea, ambele funcții returnează căi absolute pe server.
Dacă ai nevoie de un URI complet, pentru link-uri sau imagini, ar trebui să folosești get_template_directory_uri();
sau get_stylesheet_directory_uri();
, alegând funcția potrivită din motivele menționate mai sus.
Rezumat
get_stylesheet_directory()
: calea fișierului către directorul temei curenteget_stylesheet_directory_uri()
: calea URL către directorul temei curenteget_template_directory()
: calea fișierului către directorul temei părinteget_template_directory_uri()
: calea URL către directorul temei părinte

+1. Întotdeauna folosește calea/URL-ul stylesheet
pentru a face referire la actuala Temă, și rezervă calea/URL-ul template
pentru a face referire la părintele Temei.

Din păcate, get_template_directory() returnează întreaga cale a serverului precum /var/www/the/path/of/actual/wp-content/themes/mytheme
, care nu este ceea ce dorești pentru a lucra cu $wp_filesystem dacă WP se conectează prin FTP.

@NoBugs - Obțineam și eu întreaga cale a serverului, dar folosirea get_stylesheet_directory_uri() în loc de get_stylesheet_directory() a rezolvat problema.

Mulțumesc! majoritatea răspunsurilor pe care le-am găsit m-au ajutat parțial folosind get_stylesheet_directory(), dar apoi rămâneam în directorul rădăcină al serverului meu. get_stylesheet_directory_uri() a fost soluția la rugăciunile mele!

get_stylesheet_directory_uri
este funcția pe care o cauți. Returnează URL-ul temei curente. get_stylesheet_directory
va returna calea fișierului pe server.
De exemplu:
<img src="<?php echo get_stylesheet_directory_uri(); ?>/assets/image.png" />
Dacă ai nevoie de tema părinte, get_template_directory
și get_template_directory_uri
sunt echivalentele.
Dacă nu există o temă părinte, ambele funcții vor returna aceeași valoare.
Lectură suplimentară:
get_stylesheet_directory
- calea absolută a folderului temei curente
- ex.
/var/www/situltau/wp-content/themes/tema_copil
get_template_directory
- calea absolută a folderului temei părinte
- ex.
/var/www/situltau/wp-content/themes/tema_parinte
get_stylesheet_directory_uri
- URL-ul complet al temei curente
- ex.
https://exemplu.ro/wp-content/themes/tema_copil
get_template_directory_uri
- URL-ul complet al temei părinte
- ex.
https://exemplu.ro/wp-content/themes/tema_parinte
