WordPress : ajouter une page unique à un site existant
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.
0 commentaire