web-dev-qa-db-fra.com

Différents styles d'extraits par catégorie, mais chronologiques

Je souhaite avoir des aperçus de tailles différentes pour les différents types de travail que j'ai effectués. Dites 100x100px pour des choses régulières, mais 200x200px pour un projet plus important.

Je suppose que je peux utiliser la catégorie pour trier, et je sais comment l'appeler séparément, mais je ne veux pas énumérer tout ce qui est "premium" en premier, puis le reste plus tard. Je veux que toutes les œuvres apparaissent (en gros) dans le bon ordre, mais avec certains projets à plus grande échelle. Cela attirerait encore plus l'attention sur eux, mais un peu plus ludique que de les regrouper tous ensemble.

enter image description here

Est-il possible d’ajouter une classe CSS à certains extraits au milieu de la boucle? Peut-être est-il possible de filtrer en combinant les classes CSS de l’extrait et de la catégorie? Puis-je faire quelque chose avec des tags? Peut-être une autre solution me manque?

1
PixelSnader

Vous êtes sur le bon chemin. Vous pouvez ajouter des classes à votre contenu dans la boucle en fonction des termes attribués à chaque travail. Par exemple,

<?php if( has_term( $term, $taxonomy, $post ) ) { $work_classes = 'big-item'; } ?>
<div class="<?php echo $work_classes; ?>"> ... </div>

Cela n'ajoute que la classe big-item lorsque le terme de taxonomie existe sur cette publication. Pour que has_ter fonctionne, renseignez $ term avec le slug, $ taxonomy avec le taxonomy slug et $ post avec l'identifiant ou l'objet post.

Plus d'informations: https://codex.wordpress.org/Function_Reference/has_term

1
MikeNGarrett

Tout d’abord, supposons que chaque projet a un balisage semblable à ceci:

<div class="project">
.... excerpts and images etc...
</div>

Je suppose que votre 'projet' est un type de message personnalisé appelé project, mais il se peut que vous ayez réutilisé le type de message post standard.

Je vous recommande d'utiliser la fonction post_class() et de réduire la taille de tous les éléments. Ajoutez ensuite une balise ou une catégorie pour mettre tous les "gros" articles à l'intérieur, et utilisez cette classe css de classe comme fournie par post_class().

Par exemple, sur mon propre site Web, , mon dernier message actuel a ces classes CSS générées automatiquement via cette fonction:

post-699 post type-post status-publish format-standard hentry category-maintenance tag-cli tag-export tag-import tag-importer tag-ssh tag-wordpress tag-wxr

La fonction body_class() fournit également des classes CSS pour votre balise body, que vous pouvez mélanger et faire correspondre pour appliquer des règles uniquement à des publications uniques, aux archives de date, etc., etc.

1
Tom J Nowell