Me encanta admin-ajax.php. Pero odio tener que localizarlo para señalarle los guiones frontales, y desearía que hubiera un archivo equivalente para los temas, fácil de encontrar. (También me molesta ver que las solicitudes de frontend pasan por "/ wp-admin /". No hay ninguna razón práctica, solo se ve feo.)
Así que simplemente copié admin-ajax.php al directorio raíz en "/ajax.php", ajusté las rutas de inclusión y eliminé la definición constante WP_ADMIN. Parece funcionar como pandilleros (¡ahora puedo dirigir todas mis solicitudes AJAX frontend a /ajax.php! ¡Y todavía puedo usar los ganchos normales de wp_ajax en mis complementos!).
¿Pero es esto seguro? ¿Qué podría salir mal? Dado que esto no está integrado en el núcleo, supongo que hay una buena razón para no hacerlo. Pero mirando a través del código, no puedo ver ningún problema inmediato.
Eres inteligente, dime si este enfoque es una locura. O si hay un método más simple que estoy pasando por alto.