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.
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