WordPress : ajouter une page unique à un site existant

Publié par Jean-Michel le

Je suis un débutant wp travaillant avec un site existant. On m’a demandé d’ajouter une page unique au site et j’ai du mal à savoir si cela est possible. le site actuel ne changerait pas, mais il y aurait une page unique partageant uniquement le menu de navigation du site. je ne sais pas comment l’appeler pour rechercher comment faire

toute aide appréciée. Merci

Solution n°1 trouvée

Créez un nouveau modèle de page et ajoutez une classe de corps unique afin de pouvoir le styler différemment si nécessaire.

//* Add landing body class to the head
add_filter( 'body_class', 'wpsites_landing_page_body_class' );
function wpsites_landing_page_body_class( $classes ) {
if(is_page_template('/page-landing.php')){

$classes[] = 'template-landing-page';
return $classes;

}}

Ou vous pouvez ajouter la classe de corps personnalisée directement à votre fichier de modèle de page de destination.

Nommez-le quelque chose comme page_landing.php et ajoutez-le au répertoire racine de votre thème enfant.

Vous pouvez copier un modèle de page existant à partir de votre thème parent et supprimer la majeure partie du code afin que seul le menu de navigation s’affiche comme une page de destination.

Voici tous les exemples de code que vous pouvez ajouter à un nouveau fichier.

<?php
/**
 * This file adds the Landing Page Template to the Twenty Twelve theme.
 *
 * @author Brad Dalton
 * @package Twenty Twelve
 * @subpackage Customizations
 */

/*
Template Name: Landing Page
*/
get_header(); ?>

<div id="primary" class="site-content">
    <div id="content" role="main">

        <?php while ( have_posts() ) : the_post(); ?>
            <?php get_template_part( 'content', 'page' ); ?>
        <?php endwhile; // end of the loop. ?>

    </div><!-- #content -->
</div><!-- #primary -->

Les classes du menu de navigation devront correspondre à vos thèmes. Ceux-ci sont tirés du thème par défaut de Twenty Twelve.

Exemple de CSS pour votre fichier style.css de thèmes enfants.

/* Landing Page Styles
--------------------------------------------- */

body.template-landing-page {
background-color: #222;
}

.template-landing-page .site-inner,
.template-landing-page .wrap {
max-width: 800px;
}

.template-landing-page .site-inner {
padding-bottom: 40px;
padding-bottom: 4rem;
}

.template-landing-page .content {
background-color: #fff;
padding: 50px 60px 24px;
padding: 5rem 6rem 2.4rem;
}

Vous pouvez également contrôler la largeur de la page de destination à l’aide du code PHP dans le fichier functions.php de vos thèmes enfants.

function wpsites_landing_page_content_width() {
if ( is_page_template( '/page-landing.php' ) ) {
    global $content_width;
    $content_width = 960;
    }
}
add_action( 'template_redirect', 'wpsites_landing_page_content_width' );

Solution n°2 trouvée

Il existe plusieurs façons de le faire en fonction du type de contenu qui sera dans la page, mais la plus simple consiste à créer un nouveau modèle de page qui générera le contenu/visuel de la manière requise, puis à créer une page et affectez-lui le modèle. La page sera alors votre page « Unique » requise.

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *