- Statut : non résolu
- Ce sujet contient 13 réponses, 9 participants et a été mis à jour pour la dernière fois par BecaneWeb, le il y a 9 années et 6 mois.
-
AuteurMessages
-
24 juillet 2007 à 17 h 46 min #453243
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
24 juillet 2007 à 20 h 01 min #605977Bonsoir,
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,
24 juillet 2007 à 20 h 29 min #605978Merci 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 🍺
25 juillet 2007 à 5 h 18 min #605979salut,
un chtite remarque : ton site s’affiche en très très petits caractères avec Safari… zarbi….
25 juillet 2007 à 6 h 40 min #605980merci Codfingers pour cette remarque je vais télécharger Safari pour voir ça.
THXPour 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 ?
25 juillet 2007 à 14 h 58 min #605981Bonjour
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,
24 juillet 2009 à 20 h 11 min #605982Bonsoir à 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
7 septembre 2009 à 8 h 34 min #605983Le code peut être inséré à n’importe quel endroit entre et expliques un peu plus ce que tu souhaites faire.
8 septembre 2009 à 9 h 59 min #605984Bonjour 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.
5 octobre 2009 à 4 h 45 min #605985Bonjour,
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,
21 mars 2011 à 16 h 32 min #605986Bonjour,
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
28 septembre 2011 à 11 h 05 min #605987Je 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 choisiIf (is_page(array(14,16,45))
Voilà pour ma petite pierre à l’édifice!
10 juin 2012 à 12 h 09 min #605988Bonjour à 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 😎
1 mai 2015 à 11 h 59 min #605989N’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 -
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.