¿Cómo obtener la ruta al tema actual?
Este código se usa para obtener el directorio del plugin actual: plugin_dir_url( __FILE__ )
.
¿Qué debo usar para obtener el directorio del tema actual?

Creo que hay que tener un poco de cuidado porque depende de lo que estés intentando hacer.
Si estás usando un tema hijo, get_template_directory();
seguirá apuntando al tema padre. Sin embargo, get_stylesheet_directory();
apuntará al tema actual, ya sea hijo o padre. Además, ambas funciones devuelven rutas absolutas del servidor.
Si necesitas una URI completa, para enlaces o imágenes, deberías usar get_template_directory_uri();
o get_stylesheet_directory_uri();
, utilizando la correcta por las razones mencionadas.
Resumen
get_stylesheet_directory()
: ruta de archivo al directorio del Tema actualget_stylesheet_directory_uri()
: ruta URL al directorio del Tema actualget_template_directory()
: ruta de archivo al directorio del Tema padreget_template_directory_uri()
: ruta URL al directorio del Tema padre

+1. Siempre usa la ruta/url stylesheet
para referenciar el Tema actual, y reserva la ruta/url template
para referenciar el Tema padre.

Desafortunadamente get_template_directory() devuelve la ruta completa del servidor como /var/www/the/path/of/actual/wp-content/themes/mytheme
que no es lo que necesitas para trabajar con $wp_filesystem si WP se está conectando a través de FTP.

@NoBugs - Yo también estaba obteniendo la ruta completa del servidor pero usando get_stylesheet_directory_uri() en lugar de get_stylesheet_directory() resolvió el problema.

¡Gracias! La mayoría de respuestas que encontré me llevaron parte del camino usando get_stylesheet_directory(), pero luego me dejaban en el directorio raíz del servidor. ¡get_stylesheet_directory_uri() fue la respuesta a mis plegarias!

get_stylesheet_directory_uri
es la función que necesitas. Devuelve la URL del tema actual. get_stylesheet_directory
devolverá la ruta del archivo en el servidor.
Por ejemplo:
<img src="<?php echo get_stylesheet_directory_uri(); ?>/assets/image.png" />
Si necesitas el tema padre, get_template_directory
y get_template_directory_uri
son los equivalentes.
Si no hay un tema padre, ambas funciones devolverán el mismo valor.
Más información:
get_stylesheet_directory
- ruta absoluta de la carpeta del tema actual
- ejemplo:
/var/www/tusitio/wp-content/themes/tema_hijo
get_template_directory
- ruta absoluta de la carpeta del tema padre
- ejemplo:
/var/www/tusitio/wp-content/themes/tema_padre
get_stylesheet_directory_uri
- URL completa del tema actual
- ejemplo:
https://ejemplo.com/wp-content/themes/tema_hijo
get_template_directory_uri
- URL completa del tema padre
- ejemplo:
https://ejemplo.com/wp-content/themes/tema_padre
