J'ai un site qui doit être déployé dans un environnement WP multisite, mais aucun des codes du site n'utilise WordPress. Comment puis-je intercepter WordPress, peut-être à 'init', et lui dire d'arrêter de faire quoi que ce soit et me laisser prendre la relève?
J'ai simplement essayé de tout mettre dans mon fichier index.php
et de tout inclure manuellement à partir de là. Cependant, le <head>
de ma page est chargé dans le corps. Il est donc évident que je dois interrompre WordPress avant de pouvoir exécuter wp_head()
, mais je ne sais pas comment procéder.
Vous pouvez accrocher init
et vérifier l'ID de blog actuel
function wpa85780_my_app_init(){
$my_blog_id = 99;
if( $my_blog_id == get_current_blog_id() ):
include 'somefile';
exit;
endif;
}
add_action( 'init', 'wpa85780_my_app_init' );
Cela se terminera avant que WordPress effectue la requête principale et charge le modèle.
MODIFIER
une action légèrement plus ancienne que vous pouvez utiliser est after_setup_theme
, qui semble être la première à laquelle get_current_blog_id
fonctionnera. Voir la page référence de l'action pour l'ordre des actions.