web-dev-qa-db-fra.com

Échec de l'utilisation de WPDB pour générer du XML brut à cause de wp-blog-header.php

Je code un plugin. Un fichier particulier de ce plug-in est supposé extraire des données de la table de base de données personnalisée du plug-in et les exporter avec un traitement minimal en tant que fichier XML brut.

Le problème est que pour que la classe WPDB fonctionne lorsque le fichier a été ouvert directement, je devais ajouter une exigence à wp-blog-header.php. Cela a bien fonctionné MAIS il est apparu qu'en incluant le fichier, les balises <html>, <head> et <body> étaient générées, ce qui endommageait un peu certaines parties du XML.

Existe-t-il un moyen [A] de supprimer le comportement de sélection de balises de wp-blog-header.php? [B] Faire fonctionner WPDB d'une autre manière?

Ou devrais-je tout simplement pas utiliser WPDB pour l'accès à la base de données dans ce fichier du plugin?

EDIT: fausse alarme. Firefox ajoutait les balises à la fin de l'utilisateur, pas Wordpress. Désolé d'avoir soulevé une grosse puanteur.

1
SoItBegins

Inclure wp-load.php, et non wp-blog-header.php. Mieux encore, accrochez-vous à l’exécution d’une requête WordPress standard et mourrez de bonne heure.

isset( $_GET['my_conditional_check'] ) && add_action( 'plugins_loaded', 'my_xml_output' );
function my_xml_output()
{
    // do my stuff
    exit;
}

Cela lancera WordPress, puis my_xml_output(), puis mourra avant que la demande ne soit réellement analysée et que le modèle ne soit chargé/rendu:

http://example.com/?my_conditional_check
1
TheDeadMedic