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.
Chip Bennett
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
@NoBugs - Obțineam și eu întreaga cale a serverului, dar folosirea get_stylesheet_directory_uri() în loc de get_stylesheet_directory() a rezolvat problema.
TheLibzter
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!
sigmapi13
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