web-dev-qa-db-fra.com

Définir le modèle de requête dans l'URL

Je veux pouvoir forcer WordPress à charger une page/un post basé sur une requête dans l'URL.

www.mywordpresssite.com/posts/myarticle?template=custom

Cette URL doit charger la publication myarticle à l'aide du modèle custom.php.

Je ne sais même pas par où commencer avec celui-ci. Existe-t-il un crochet que je peux utiliser pour changer le modèle dans mon thème avant son chargement?

Toute aide est appréciée.

1
McShaman

Un certain nombre de filtres de modèles sont disponibles pour remplacer la sélection de modèles. Pour un seul message, vous pouvez utiliser le filtre single_template :

function wpa_single_template( $template ) {
     if( isset( $_GET['template'] ) ) {
          $template = locate_template( $_GET['template'] . '.php', false );
     }
     return $template;
}
add_filter( 'single_template', 'wpa_single_template' );
2
Milo