web-dev-qa-db-fra.com

Arrêtez complètement WordPress et lancez mon propre code

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.

1
cantera25

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.

3
Milo