Estoy creando un complemento y quiero automatizar la creación de un Activador de MySQL en una tabla. El problema parece ser que $ wpdb- > query no parece aceptar declaraciones multiparte y / o consultas formateadas.
Si imprimo y ejecuto la siguiente consulta en phpMyAdmin, devuelve el éxito. También me di cuenta de que si formateaba la consulta en una sola línea, seguiría teniendo éxito, pero en este caso el activador NO se creó.
$wpdb->query(
"DELIMITER //
DROP TRIGGER IF EXISTS {$wpdb->get_blog_prefix($site->id)}post_queue_insert//
CREATE TRIGGER {$wpdb->get_blog_prefix($site->id)}queue_insert BEFORE INSERT ON {$wpdb->get_blog_prefix($site->id)}posts
FOR EACH ROW BEGIN
INSERT INTO {$wpdb->base_prefix}post_queue (action_id, action_type, action_status, action_timestamp, sync_complete, SITE_ID) VALUES (NEW.ID, NEW.post_type, NEW.post_status, UNIX_TIMESTAMP(now()), 0, {$site->id});
END//
DELIMITER ;"
);
¿Hay alguna otra función que pueda usar u otra forma de formatear la consulta para que se ejecute correctamente?