Plusieurs feuilles de style pour plusieurs pages (Créer un compte)

  • Statut : non résolu
14 sujets de 1 à 14 (sur un total de 14)
  • Auteur
    Messages
  • #453243
    ramun
    Membre
    Initié WordPress
    48 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : 2.2.1
    – Thème utilisé : dill 10
    – Plugins en place : Aucun
    – Nom de l’hebergeur : 1&1
    – Adresse du site :

    Problème(s) rencontré(s) :

    Bonjour et voici mon problème :

    J’ai crée 2 modèles de pages pour mon site (une avec la sidebar et l’autre sans). Cela fonctionne parfaitement.
    Par contre si je veux la background en noir sur l’une et en blanc sur l’autre, comment dois-je faire ?
    Mes 2 fichiers php se servent du même fichier style.css, non ?

    Merci d’avance

    #605977
    ModoFX
    Membre
    Chevalier WordPress
    363 contributions

    Bonsoir,

    Il va falloir jouer avec les fonctions de WP pour réaliser cela. Je te donne le code que je viens de faire, il fonctionne ! 😉

    On part du principe que la page nommée >> contact < Gérer > Pages.
    
    Ce code est à placer dans le fichier header.php
    
    <?php
    
    If (is_page('contact')) {
    	echo '’;
    	echo ‘NOIR’; // JUSTE POUR VERIFIER SI CA MARCHE, ON PEUT LE SUPPRIMER APRES.
    }
    
    Else {
    	echo ”;
    	echo ‘BLANC’; JUSTE POUR VERIFIER SI CA MARCHE, ON PEUT LE SUPPRIMER APRES.
    }
    
    ?>

    Si tu utilises les permaliens par défaut (= numérique), tu devras remplacer contact par son id (par ex. si la page contact a l’id 32… ça donnera : is_page(’32’) aulieu de is_page(‘contact’) ). Je n’ai pas testé ce que cela faisait si tu n’apportais pas cette modification dans ce cas là…

    N’oublies pas de supprimer la ligne de “code style” qui est présent par défaut… car risquerait de créer des conflits.

    Sinon, tu peux utiliser les pages templates… il suffit de faire des recherches sur ce forum… car le sujet a déjà été abordé.

    Cordialement,

    #605978
    ramun
    Membre
    Initié WordPress
    48 contributions

    Merci FiX,

    C’est très sympa pour le code, j’ai compris le principe, par contre je teste cela demain.

    Je te tiens au courant

    Thx

    Ps: Félicitation pour ton BAC 🍺

    #605979
    codfingers
    Participant
    Maître WordPress
    541 contributions

    salut,

    un chtite remarque : ton site s’affiche en très très petits caractères avec Safari… zarbi….

    #605980
    ramun
    Membre
    Initié WordPress
    48 contributions

    merci Codfingers pour cette remarque je vais télécharger Safari pour voir ça.
    THX

    Pour le code, cela fonctionne sans problème, MERCI.

    Par contre est-il possible, au lieu de mettre comme condition le nom de la page mettre plutôt un modèle de page ?

    #605981
    ModoFX
    Membre
    Chevalier WordPress
    363 contributions

    Bonjour

    ramun wrote:
    […]
    Pour le code, cela fonctionne sans problème, MERCI.
    Par contre est-il possible, au lieu de mettre comme condition le nom de la page mettre plutôt un modèle de page ?

    Euh… tu peux développer ton idée ? Car là je vois pas ce que tu veux dire / faire 😉

    Cordialement,

    #605982
    Nicoh
    Membre
    Initié WordPress
    2 contributions

    Bonsoir à tous,

    Je me permets de déterrer ce sujet car il semble traiter de mon souci. Je souhaite que chaque page de mon site ait une feuille de style différente.
    Mon problème est que je n’y connais rien en code ; donc, je ne sais pas si le code suivant proposé dans ce sujet est adapté à ma demande et surtout où je dois l’insérer dans mon header :

    <?php
    If (is_page('contact')) {
      echo '’;
      echo ‘NOIR’; // JUSTE POUR VERIFIER SI CA MARCHE, ON PEUT LE SUPPRIMER APRES.
    }
    Else {
      echo ”;
      echo ‘BLANC’; JUSTE POUR VERIFIER SI CA MARCHE, ON PEUT LE SUPPRIMER APRES.
    }
    ?>
    
    Je me permet de vous laisser le code que j’ai dans mon header afin d’être plus explicite :
     
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    
    
    	<meta http-equiv="Content-Type" content="; charset=” />
    	<title> </title>
    
    	<link rel="stylesheet" href="” type=”text/css” media=”screen” /> 
    	<link rel="alternate" type="application/rss+xml" title="Flux RSS de ” href=”” />
    	<link rel="alternate" type="application/atom+xml" title="Flux Atom de ” href=”” /> 
    	<link rel="pingback" href="” />
    	
    	
    	 
    
    	 
    
    	
    
    
    
    
    
    	<div id="page">
    		<div id="header">
    				<h1><a href="”></a></h1>
    				<div class="description">
    				  
                        
                        
                        
    			      
    				</div>
    		
    		</div>
    		
    <ul id="page-bar" class="left clearfloat">
    			
    		</ul>
    
    post_parent)
      $children = wp_list_pages(“title_li=&child_of=”.$post->post_parent.”&echo=0″);
      else
      $children = wp_list_pages(“title_li=&child_of=”.$post->ID.”&echo=0″);
      if ($children) { ?>
      <ul id="menugauche">
      
      </ul>
      

    D’avance, je vous remercie pour votre aide,

    Cordialement,

    Nicoh

    #605983
    mathieu.e
    Membre
    Initié WordPress
    4 contributions

    Le code peut être inséré à n’importe quel endroit entre et expliques un peu plus ce que tu souhaites faire.

    #605984
    Nicoh
    Membre
    Initié WordPress
    2 contributions

    Bonjour Mathieu,

    tout d’abord merci pour ta réponse.
    En fait, je souhaite avoir un site dans lequel chaque page a une présentation différente. Seules les dimensions du haut du site (le header, je crois) comprenant le menu ne changent pas. Tout le reste des pages est unique selon la page.
    Pour la page d’accueil, je fais appel à la feuille de style 1, la page 2 fait appel à la feuille de style 2, etc…
    J’ai conscience que ce n’est certainement pas la meilleure façon de faire, mais comme je ne connais rien en code, réussir à avoir une feuille de style par page devrait me permettre de gérer chaque page comme je le souhaite.

    D’avance, merci pour ton aide,

    Cordialement,

    Nicoh.

    #605985
    mathieu.e
    Membre
    Initié WordPress
    4 contributions

    Bonjour,
    Désolé pour la réponse un peu tardive mais je n’étais pas venu sur le forum depuis un moment. C’est bien la fonction if is page qu’il faut utiliser. Tu la place entre et : Voici la page du codex qui traite cette fonction.
    Voici un exemple tiré de mon site :

    
    	<link rel="stylesheet" href="/wp-content/themes/montheme/lafeuilledestyledemapagedaccueil.css” type=”text/css” media=”screen” />
    	

    Bon courage à toi,

    #605986
    aurel038
    Participant
    Initié WordPress
    38 contributions

    Bonjour,

    Je me permet de faire un petit Up de ce topic car j’ai une question concernant le même principe. Je m’explique. J’aimerais utiliser la même idée avec ce code :

    1.
          On part du principe que la page nommée >> contact < Gérer > Pages.
       2.
           
       3.
          Ce code est à placer dans le fichier header.php
       4.
           
       5.
          <?php
       6.
           
       7.
          If (is_page('contact')) {
       8.
            echo '’;
       9.
            echo ‘NOIR’; // JUSTE POUR VERIFIER SI CA MARCHE, ON PEUT LE SUPPRIMER APRES.
      10.
          }
      11.
           
      12.
          Else {
      13.
            echo ”;
      14.
            echo ‘BLANC’; JUSTE POUR VERIFIER SI CA MARCHE, ON PEUT LE SUPPRIMER APRES.
      15.
          }
      16.
           
      17.
          ?>

    Mais je ne désire pas faire une feuille de style selon les pages mais selon les sous domaine que j’ai créé(j’ai installé la fonction multisite de wordpress). Exemple:

    si sous domaine 1 alors utilisé feuille de style 1 etc… pour les autres sous domaines

    Il y a t’il une fonction comme “is_page” mais avec les sous domaine crééer (exemple “is_subdomain” ???)

    Merci beaucoup

    #605987
    jibey13
    Membre
    Initié WordPress
    15 contributions

    Je vais faire des petites modifs par rapport à un essai que j’ai fais sur un site perso.
    D’abord, le code de modofx est bon sauf qu’il ne faut pas mettre les antislash \\
    Ensuite, pour choisir plusieurs pages, comme sur mon site, j’ai choisi

    If (is_page(array(14,16,45))

    Voilà pour ma petite pierre à l’édifice!

    #605988
    Papageno3
    Membre
    Initié WordPress
    21 contributions

    Bonjour à tous 🙂

    A mon tour de déterrer cette discussion, car elle semble bien contenir la solution à mon affaire.
    Je m’explique. Dans mon cas il s’agit de contourner ce qui me semble un bug ou un défaut de conception des CSS du thème Twenty Ten. Voici mon blog en construction, où j’ai créé un thème enfant du thème Twenty Ten.

    Le problème c’est que malgré après avoir tout essayé pour corriger ce défaut directement dans style.css, j’ai toujours une énorme différence de position de la sidebar dans la home page, les articles et les pages. De même mon menu ne s’affiche pas pareil selon qu’il s’agit de la home page, les articles ou les pages. Je ne vois pas d’autre solution que de créer une deuxième feuille de style, que j’ai nommée post.css, et qui contient une position différente pour les articles et les pages. Idem pour le menu.

    Voici le bout de CSS pour le menu de la home page :

    #access ul li.current_page_item > a {
            height: 27px;
            margin-top: 5px;
    	background: #333;
            color: #999;
    	line-height: 2.5em;
    }

    et le même bout de CSS mais avec des valeurs différentes pour les articles et les pages :

    #access ul li.current_page_item > a {
            height: 7px;
            margin-top: 0px;
    	background: #333;
            color: #999;
    	line-height: 0.4em;
    }

    Pour la sidebar c’est le même principe.
    Je précise que je ne connais pas le PHP.
    Comment faire avec ce bout de code donné par ModoFX? Que font ici ces anti-slashs?

    Mon bout de code final à mettre dans mon header pourrait-il ressembler à ça?

    <?php
    
    If (is_page('home_page')) {
        echo '’;
        echo ‘home_page’; // JUSTE POUR VERIFIER SI CA MARCHE, ON PEUT LE SUPPRIMER APRES.
    }
    
    Else {
        echo ”;
        echo ‘post’; JUSTE POUR VERIFIER SI CA MARCHE, ON PEUT LE SUPPRIMER APRES.
    }
    Else {
        echo ”;
        echo ‘page’; JUSTE POUR VERIFIER SI CA MARCHE, ON PEUT LE SUPPRIMER APRES.
    }
    
    ?>

    Existe-t-il une solution plus simple que de mettre une 2ème feuille de style?
    Bref je pédale grave, et si une bonne âme pouvait m’aider, il en sera grandement remercié 😉

    Cordialement, Papageno3 😎

    #605989
    BecaneWeb
    Participant
    Initié WordPress
    16 contributions

    N’ayant pas trouvé de topic sur “comment charger une feuille de style CSS en fonction du template de page utilisé” je me permet de mettre à jour celui-ci qui ma permis d’avoir mes premières piste de recherche.

    L’idée est d’utiliser la fonction is_page_template( ” ) qui permet de cibler un template de page.

    Sur la base du code de MODO FX, on va donc mettre comme condition de charger une feuille de style choisies si le template de page template-exemple.php est utilisés.

    __________
    Le code à coller dans le header est donc :

    <?php
    
    If (is_page_template( 'template-exemple.php' ) ) {
        echo '’;
    	}
    
    Else {
        echo ”;
    }
    ?>

    Si le template n’est pas utilisé on appelle alors la feuille de style par défaut ma-feuile-de-style-par-defaut.css.
    NOTE : penser à supprimer la ligne dans le header qui appelle déjà cette feuille de style.

    ___________
    Webmaster Lyon indépendant

14 sujets de 1 à 14 (sur un total de 14)
  • Vous devez être connecté pour répondre à ce sujet.