Vous n'êtes pas identifié.
Annonce
Annonce 1 : Le Codex en français a besoin de vous pour avancer !
Annonce 2 : Avant de poster, n'oubliez pas de faire une petite Recherche et de lire les règles de ce forum.
Annonce 3 : Lisez notre blog, il regorge de bonnes informations.
Annonce 4 : Rejoignez-nous sur Facebook et sur Twitter
Pages: 1
- Index
- » [Depôts] Extensions, Trucs, Astuces
- » Background différent pour chaques posts avec "Champs Personnalisés"
#1 10-01-2010 23:28:06
Background différent pour chaques posts avec "Champs Personnalisés"
Bonjour à tous, donc je ne sais pas si l'astuce a déjà été donnée, mais voila ma méthode pour mettre un fond de page ou une couleur différente pour chaques posts, en changeant juste une valeur dans la section Champs Personnalisés dans un post ou d'une page.
Pour ça il faut ajouter un petit code dans votre template avant le début du <content>, à la page qui gére l'affichage de vos articles (archive.php) et à la page qui gére l'affiche des pages (page.php).
Code:
- <!-- Background Post Color or Image-->
- <?php
- $postcolor = get_post_meta($post->ID, 'Background_Color', true);
- $postpattern = get_post_meta($post->ID, 'Background_Image', true);
- ?>
- <?php if ($postcolor == null): ?>
- <style>
- body {background-image: url("/votredossierbackground/<?php echo $postpattern; ?>");}
- </style>
- <?php else : ?>
- <style>
- body {background-color: #<?php echo $postcolor; ?>;}
- </style>
- <?php endif; ?>
- <!-- Background End -->
Il vous reste simplement aprés à mettre un champ personnalisé dans l'edition d'un post ou d'une page
Background_Color avec 000000 pour du noir par exemple ou Background_Image avec image.jpg
Et voila.
Bye
Hors ligne
#2 11-01-2010 16:56:58
- Menzo
- Membre WP
- Date d'inscription: 06-01-2010
- Messages: 8
Re: Background différent pour chaques posts avec "Champs Personnalisés"
Bonjour, j'ai essayé votre code mais celui ci ne fonctionne pas sur mon theme (theme artisteer inspiré de kubrik) ou alors je n'ai pas su le mettre au bon endroit dans mon "page.php", pouvez vous me dire où le mettre dans le code suivant :
page.php
Code:
- <?php get_header(); ?>
- <div class="art-contentLayout">
- <?php include (TEMPLATEPATH . '/sidebar1.php'); ?><div class="art-content">
- <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
- <div class="art-Post">
- <div class="art-Post-body">
- <div class="art-Post-inner art-article">
- <?php ob_start(); ?>
- <h2 class="art-PostHeader">
- <img src="<?php bloginfo('template_url'); ?>/images/PostHeaderIcon.png" width="30" height="27" alt="" />
- <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php printf(__('Permanent Link to %s', 'kubrick'), the_title_attribute('echo=0')); ?>">
- <?php the_title(); ?>
- </a>
- </h2>
- <?php $metadataContent = ob_get_clean(); ?>
- <?php if (trim($metadataContent) != ''): ?>
- <div class="art-PostMetadataHeader">
- <?php echo $metadataContent; ?>
- </div>
- <?php endif; ?>
- <div class="art-PostContent">
- <?php if (is_search()) the_excerpt(); else the_content(__('Read the rest of this entry »', 'kubrick')); ?>
- <?php if (is_page() or is_single()) wp_link_pages(array('before' => '<p><strong>Pages:</strong> ', 'after' => '</p>', 'next_or_number' => 'number')); ?>
- </div>
- <div class="cleared"></div>
- <?php $icons = array(); ?>
- <?php if (!is_page()): ?><?php ob_start(); ?><?php printf(__('Posted in %s', 'kubrick'), get_the_category_list(', ')); ?>
- <?php $icons[] = ob_get_clean(); ?><?php endif; ?><?php if (!is_page() && !is_single()): ?><?php ob_start(); ?><?php comments_popup_link(__('No Comments »', 'kubrick'), __('1 Comment »', 'kubrick'), __('% Comments »', 'kubrick'), '', __('Comments Closed', 'kubrick') ); ?>
- <?php $icons[] = ob_get_clean(); ?><?php endif; ?><?php if (0 != count($icons)): ?>
- <div class="art-PostFooterIcons art-metadata-icons">
- <?php echo implode(' | ', $icons); ?>
- </div>
- <?php endif; ?>
- </div>
- <div class="cleared"></div>
- </div>
- </div>
- <?php comments_template(); ?>
- <?php endwhile; endif; ?>
- </div>
- </div>
- <div class="cleared"></div>
- <?php get_footer(); ?>
en vous remerciant
Hors ligne
#4 11-01-2010 17:15:41
- Menzo
- Membre WP
- Date d'inscription: 06-01-2010
- Messages: 8
Re: Background différent pour chaques posts avec "Champs Personnalisés"
bon ça ne marche toujours pas, je travaille en local est ce que cela peut avoir une incidence ? Faut il modifier le code dans archives aussi meme si on souhaite juste que le fond d'écran apparaisse sur des pages ?
Hors ligne
#6 11-01-2010 17:22:59
- Menzo
- Membre WP
- Date d'inscription: 06-01-2010
- Messages: 8
Re: Background différent pour chaques posts avec "Champs Personnalisés"
oui j'ai ajouté champs personalisé Background_Color avec une valeur 000000 pour tester
Hors ligne
#7 11-01-2010 17:26:12
Re: Background différent pour chaques posts avec "Champs Personnalisés"
Aprés il peut y avoir conflit avec le CSS, normalement la valeur donnée par le code est censé passer par dessus le CSS par défaut, essaye peut être sans background dans le css principal.
Hors ligne
#8 12-01-2010 10:17:19
- Menzo
- Membre WP
- Date d'inscription: 06-01-2010
- Messages: 8
Re: Background différent pour chaques posts avec "Champs Personnalisés"
j'ai essayé sans background et ça ne marche pas non plus, je ne vois vraiment pas d'ou peut venir l'erreur, je modifie juste la page page.php vu que je veux que le background change selon les pages, les articles non, je mets bien le champs personalisé à la bonne valeur, et non rien ne se passe !
Dernière modification par Menzo (12-01-2010 14:31:39)
Hors ligne
#9 12-01-2010 13:38:50
- proche11
- Membre WP
- Date d'inscription: 15-12-2009
- Messages: 7
Re: Background différent pour chaques posts avec "Champs Personnalisés"
Si ca peut t'aider j'ai réussi à associer un thèmes en fonction d'un page ou d'un catégorie très simplement:
<?php
add_filter( 'stylesheet_uri', 'my_stylesheet', 10, 2 );
function my_stylesheet( $stylesheet_uri, $stylesheet_dir_uri ) {
if (is_category('4'))
$stylesheet_uri = $stylesheet_dir_uri . '/dossier1/style.css';
elseif ( is_page( 'planete-terre' ) )
$stylesheet_uri = $stylesheet_dir_uri . '/dossier2/style.css';
elseif (is_category('6'))
$stylesheet_uri = $stylesheet_dir_uri . '/dossier3/style.css';
else
$stylesheet_uri = $stylesheet_dir_uri . '/style.css';
return $stylesheet_uri;
}
?>
Tu ajoute ce code en haut de ton functions.php
Par contre je n'aarive pas à l'associer en fonction d'un post, en effet mon problème est tous simple, j'ai un site avec différente page et chaque pages à ces articles associer, au début je souhaitais associer un thème en fonction de la page, j'y suis arrivé grace a cette méthode, mais je me suis rendu compte que pour les post ça ne fonctionnait pas, du coup dès que j'ouvre un article d'une page le thème qui s'associe n'est pas forcément le bon. Je vois 2 solutions soit associer un thème en fonction du post (ce que j'arrive pas) soit en fonction de la page parente mais là aussi je suis perdu...
SVP aidez moi!!!
Hors ligne
#10 12-01-2010 13:59:30
- Menzo
- Membre WP
- Date d'inscription: 06-01-2010
- Messages: 8
Re: Background différent pour chaques posts avec "Champs Personnalisés"
J'y suis arrivé finalement à partir du script de keffer, c'était mon CSS qui posait probleme, donc je recommande ce script qui est simple à implémenter et fonctionne nickel !
Dernière modification par Menzo (12-01-2010 14:32:22)
Hors ligne
#11 14-01-2010 01:17:38
Re: Background différent pour chaques posts avec "Champs Personnalisés"
Ah ba cool, tant mieux, parceque moi je ne voyais pas du tout ou était le problème, vu que le script ne change rien du tout dans le mode de fonctionnement.
Bye
Hors ligne
#12 14-01-2010 01:20:07
Re: Background différent pour chaques posts avec "Champs Personnalisés"
Je viens de penser à un truc, il faudrait peut être rajouter un !important pour le background css dans le script, ça permettrais surremment de le faire passé en priorité au dessus le css par défaut.
Hors ligne
#13 12-04-2010 22:26:21
- karin
- Connaisseur WP
- Date d'inscription: 24-02-2010
- Messages: 19
Re: Background différent pour chaques posts avec "Champs Personnalisés"
Bonjour,
j'ai lu la discussion comme voudrais bien insérer une image de fond à ma page d'accueil statique, mais ça me laisse complexe...peut-être suis-je bien trop novice.
Donc, j'utilise Atahualpa, dans les options on peut bien insérer une image de fond, mais on ne peut exclure des pages alors ça ne me sert à rien, et je n'ai pas de fichier page.php
Alors je me suis dit qu'il serait peut-être possible de le faire en html, j'ai un peu cherché coté feuilles CSS, puis j'ai mis ça sur ma page :
<style>
body {background-position: bottom center ;background-attachment: fixed ;background-repeat: no-repeat ;
border: none ;background-image: url("http://bibliotheque-louans.fr/wp-content/uploads/2010/04/livre-arrpl.gif");}
</style>
mais ça ne donne rien (ne riez pas trop fort svpl!)
Pourriez-vous m'aider?
merci
Hors ligne
#14 25-04-2010 18:00:33
- arpia
- Membre WP
- Date d'inscription: 25-04-2010
- Messages: 2
Re: Background différent pour chaques posts avec "Champs Personnalisés"
Bonjour,
J'ai essayé le Background_Color mais sa marche pas ou alors je ne l'utilise pas comme il faut.
Vous pouvez réexpliquer plus précisément comme on l'utilise, comme par exemple ou le mettre
merci beaucoup
Hors ligne
Pages: 1
- Index
- » [Depôts] Extensions, Trucs, Astuces
- » Background différent pour chaques posts avec "Champs Personnalisés"