Obtener el directorio de plugins desde un tema
¿Alguien conoce una forma correcta de obtener la ruta del directorio de plugins desde el archivo functions.php de un tema?
He usado plugin_dir_path(FILE), pero como se llama desde functions.php del tema, devuelve la ruta a ese archivo y no al directorio de plugins. Podría manipular la cadena y agregar la ruta de plugins, pero eso se siente casi tan mal como codificar toda la ruta manualmente.
Lo tengo funcionando usando:
require_once( ABSPATH .'/wp-content/plugins/ehu-events/event-widget.php' );
¡Pero sé que eso es muy anticuado e incorrecto y probablemente sería rechazado por la comunidad de WordPress por usarlo!
¿Existe alguna función estándar de WordPress que pueda usar para esto?

Quizás lo que estás buscando es:
WP_PLUGIN_DIR // ruta completa, sin barra al final
WP_PLUGIN_URL // URL completa, sin barra al final
Consulta la documentación

Ten en cuenta que hay filtros que podrían mover la ubicación a otro lugar. Esta podría ser la mejor opción, pero definitivamente no es una suposición segura.

La documentación enlazada dice lo siguiente sobre las constantes: «Estas no deberían ser usadas directamente por plugins o temas, pero están listadas aquí para completitud.» Así que probablemente no debería sugerirse como solución, cuando el consejo es no usarlas en tu tema.

Creo que esto puede ser más confiable que depender de las constantes.
$url = plugins_url();
$path = parse_url($url);
var_dump($path['path']);
La razón por la que sospecho que puede ser más confiable es que la función plugins_url
considera tanto las constantes WPMU_PLUGIN_URL
como WP_PLUGIN_URL
y también respetará el filtro plugins_url
.
