Alors voilà, le nouveau souci que j'essaie de résoudre :
Sur ma page d'accueil, j'ai dans ma loop un appel thumbnails.
<article class="post" id="post-<?php the_ID(); ?>">
<?php if( has_post_thumbnail()) : ?>
<figure class="thumb">
<a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title_attribute(); ?>">
<?php the_post_thumbnail(array(277, 210)); ?>
</a>
</figure>
<?php endif ?>
J'ai souhaité ajouter une nouvelle class à ma fonction en utilisant ce code dans function.php
if ( has_post_thumbnail())
$classes] = 'has-thumbnail';
return $classes;
Je me suis peut-être fourvoyé avec ce code, mais voilà, ce que je veux, c'est ajouter une condition dans mon css :
.has-thumbnail .post-header, .has-thumbnail .post-content {
margin-left: 34%;
}
Pour résumer : Lorsque le post a un thumbnails, le header et le content on un margin-left de 34% ( pour une belle mise en page qui ne soit pas collée à l'image ). Le reste du temps, pas de margin.
Bref, vous l'aurez compris, ça ne fonctionne pas... j'ai foiré où ?
merci ! :)
Salut, le mieux serait que tu utilises le hook post_class() sur ta balise article, ensuite tu as deux solutions que je vois.
La première serait l'utilisation des posts formats, de cette façon, tes posts qui auront un thumb, tu leur donne le format image par exemple et pour ceux sans, tu leur laisse le format par défault, en faisant ça, tu auras une classe qui se rajoutera grâce au hook post_class du type .format-standard ou .format-image ou autre selon ce que tu choisis.
Si tu ne souhaite pas utiliser cette méthode, tu peux aussi créer un filtre sur le hook post_class()
Dans ton fichier function
function my_post_class($classes){
global $post;
if(get_the_post_thumbnail($post->ID))
$classes]= 'has-thumbnail';
return $classes;
}
add_filter('post_class','my_post_class');
Bonjour Elscorto et merci pour ta réponse.
Ne connaissant rien à l'utilisation des posts formats, j'ai opté pour la seconde option, rapide à mettre en place.
Rapide, pas tant que ça, j'avais déjà une class sur ma balise article, et tant qu'elle était là, ça ne fonctionnait pas, après plusieurs minutes de lutte ( combat acharné, ceinture noire de taï-chi, double kick, patates, beignes, câlins et bisous... ),j'ai réussi :)
j'ai donc utilisé ta fonction et ma balise article ressemble donc à
<article id="post-<?php the_ID(); ?>" <?php post_class('post-id'); ?>
Voilà merci :)