Come ottenere il percorso del tema corrente?
Questo codice viene utilizzato per ottenere la directory del plugin corrente: plugin_dir_url( __FILE__ )
.
Cosa dovrei usare per ottenere la directory del tema corrente?

Penso che tu debba prestare un po' di attenzione perché dipende da quello che stai cercando di fare.
Se stai utilizzando un child theme, get_template_directory();
farà comunque riferimento al tema genitore. Tuttavia, get_stylesheet_directory();
farà riferimento al tema corrente, che sia child o parent. Inoltre, entrambe queste funzioni restituiscono percorsi assoluti sul server.
Se invece hai bisogno di un URI completo, ad esempio per link o immagini, dovresti usare get_template_directory_uri();
o get_stylesheet_directory_uri();
, scegliendo quello corretto per i motivi già indicati.
Riepilogo
get_stylesheet_directory()
: percorso del file alla directory del Tema correnteget_stylesheet_directory_uri()
: percorso URL alla directory del Tema correnteget_template_directory()
: percorso del file alla directory del Tema genitoreget_template_directory_uri()
: percorso URL alla directory del Tema genitore

+1. Sempre usa il percorso/URL stylesheet
per riferirti al Tema corrente, e riserva il percorso/URL template
per riferirti al Tema genitore.

Sfortunatamente get_template_directory() restituisce l'intero percorso del server come /var/www/the/path/of/actual/wp-content/themes/mytheme
che non è ciò che vuoi per fare operazioni con $wp_filesystem se WP si connette via FTP.

@NoBugs - Anche io ottenevo l'intero percorso del server ma usando get_stylesheet_directory_uri() invece di get_stylesheet_directory() ho risolto il problema.

Grazie! La maggior parte delle risposte che ho trovato mi hanno aiutato in parte usando get_stylesheet_directory() ma poi mi lasciavano nella directory root del server. get_stylesheet_directory_uri() è stata la risposta alle mie preghiere!

get_stylesheet_directory_uri
è la funzione che desideri. Restituisce l'URL del tema corrente. get_stylesheet_directory
invece restituirà il percorso del file sul server.
Ad esempio:
<img src="<?php echo get_stylesheet_directory_uri(); ?>/assets/image.png" />
Se hai bisogno del tema genitore, get_template_directory
e get_template_directory_uri
sono gli equivalenti.
Se non esiste un tema genitore, entrambi restituiranno lo stesso valore.
Ulteriori letture:
get_stylesheet_directory
- percorso assoluto della cartella del tema corrente
- es.
/var/www/yoursite/wp-content/themes/child_theme
get_template_directory
- percorso assoluto della cartella del tema genitore
- es.
/var/www/yoursite/wp-content/themes/parent_theme
get_stylesheet_directory_uri
- URL completo del tema corrente
- es.
https://example.com/wp-content/themes/child_theme
get_template_directory_uri
- URL completo del tema genitore
- es.
https://example.com/wp-content/themes/parent_theme
