web-dev-qa-db-fra.com

en-têtes personnalisés pour la page d'accueil statique et la page de messages

avoir un site avec une page d'accueil statique et une page de messages, puis un certain nombre d'autres pages statiques - j'ai créé un en-tête personnalisé pour la page d'accueil, puis toutes les autres pages de ce type dans l'en-tête

<?php
if(is_home()){
include(TEMPLATEPATH.'/header_front.php');}

else {
include(TEMPLATEPATH.'/header_default.php');}

?>

cela fonctionne parfaitement sauf que la page de messages affiche header_front.php au lieu de header_default.php

donc je suppose que je demande comment je me fais wordpress pour me rendre compte que la page des messages n’est pas la page d’accueil

1
j1mmy

Au lieu d'utiliser include (TEMPLATEPATH, utilisez l'API intégrée de WordPress.

L'API WordPress permet d'utiliser différents en-têtes.

<?php 
       if (is_front_page() ) {
               get_header( 'front' );

        } else {
               get_header();
       }
?>

Votre modèle d'en-tête personnalisé doit être nommé header-front.php et votre en-tête par défaut doit être nommé header.php.

5
Chris_O

ok, donc je suppose qu’il y avait du code dans le modèle de la page d’accueil que je pensais dessiner sur un site qui faisait penser à wordpress que c’était la page de blog - une fois que j’ai excisé cela puis fait is_front_page ()

c’est le code qui intéresse tout le monde - j’avais l’impression qu’il était nécessaire de désigner un modèle - il y a beaucoup de choses supplémentaires

<?php
/*
Template Name: blog
*/
$pagenum = $wp_query->query_vars;
$pagenum = $pagenum['paged'];

if (empty($pagenum)) {
$pagenum = 1;
}

query_posts("posts_per_page=10&paged=$pagenum");
?>
0
j1mmy