Cum obții calea către tema curentă?

5 apr. 2012, 22:27:30
Vizualizări: 128K
Voturi: 44

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?

0
Toate răspunsurile la întrebare 2
5
83

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

5 apr. 2012 23:51:27
Comentarii

+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 Chip Bennett
6 apr. 2012 00:00:12

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
11 sept. 2014 06:41:37

@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 TheLibzter
5 feb. 2015 00:19:10

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 sigmapi13
7 aug. 2020 20:44:07

Ah, Wordpress. Compatibil înapoi până la defect. (Niciun om sănătos la cap nu ar folosi în mod deliberat astfel de convenții de denumire ambigue!)

rinogo rinogo
3 sept. 2021 21:38:28
2
13

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ă:

5 apr. 2012 22:29:25
Comentarii

get_stylesheet_directory() este răspunsul corect. get_template_directory() va indica tema părinte dacă se folosește o temă copil.

Lucas Bustamante Lucas Bustamante
11 iul. 2020 05:20:46

Am ajustat răspunsul în consecință

Tom J Nowell Tom J Nowell
25 aug. 2020 17:02:58