Uncaught ReferenceError: ajaxurl is not defined

Es comun en Wp necesitar usar la variable ajaxurl pero puede que nuestra template no la tenga definida, para ello necesitamos agregarla; podemos hacerlo de diferentes maneras, pero la que creo es mejor es declararla en el plugin que la necesite (lo normal es que sea uno propio, si no crear uno solo para esto, o agregarlo en el functions.php)

add_action( 'wp_head', 'add_ajax_library' );
/**
* Adds the WordPress Ajax Library to the frontend.
*/
function add_ajax_library() {
echo '<script type="text/javascript">
var ajaxurl = "' . admin_url( 'admin-ajax.php' ) . '"
</script>';
}