WordPress : Modèle de portfolio afficher le nombre de publications en fonction du jour de la semaine ?
C’est le poste deux pour moi ici, donc mes excuses si je laisse quelque chose de côté ! Je suis aussi assez faible en codage wordpress, mais j’apprends !
J’utilise un modèle de portfolio pour organiser les pages de contenu éducatif. Chaque page contient 5 articles, un pour chaque jour de la semaine (du lundi au vendredi). J’aurai différents groupes accédant à différentes pages chaque semaine, mais la plupart des pages seront « anciennes ». Ainsi, lorsque vous les visitez maintenant, vous voyez les 5 jours à la fois.
Je veux qu’ils ne voient que les messages des jours précédents et actuels. Ainsi, en visitant le lundi, vous ne voyez que le message du lundi, même si le lundi au vendredi est publié. En visite le mercredi, vous voyez du lundi au mercredi.
Toutes les pages sont les mêmes, il n’y aura jamais que 5 messages. Cette méthode n’a pas beaucoup de flexibilité, mais ça va. J’inclurai probablement une case à cocher méta pour « activer/désactiver » cette fonctionnalité, mais je n’aurai pas besoin d’en utiliser autant.
Voici un lien vers le template-portfolio.php actuel : https://gist.github.com/4671326
Et voici celui que j’ai essayé de modifier : https://gist.github.com/4661867
Voici le bout de code pertinent :
$days = array(
'monday' => 1,
'tuesday' => 2,
'wednesday' => 3,
'thursday' => 4,
'friday' => 5,
);
$args = array(
'post_type' => 'portfolio',
'orderby' => 'menu_order',
'order' => 'ASC',
'meta_value' => esc_attr( get_post_meta( $post->ID, 'portsort', true ) ),
'posts_per_page' => $days[date( 'l', current_time('timestamp') )],
);
Mes ajouts ne fonctionnent pas. Voici la logique que j’essayais de mettre là-dedans:
Afficher #nombre# de publications en fonction du jour où l’on est. Donc, si la date revient jeudi, affichez simplement 4 messages.
Pour moi, cela semble être facile à faire … mais cela ne fonctionne pas correctement pour une raison quelconque.
ALORS… mes questions :
- Est-ce la logique de codage appropriée pour que cela fonctionne correctement ?
- Qu’est-ce que j’ai fait de mal dans le code lui-même ?
Merci pour l’aide!
Solution n°1 trouvée
Question plus ancienne mais qui pourrait simplement être un problème de sensibilité à la casse :
$days = array(
'monday' => 1,
'tuesday' => 2,
'wednesday' => 3,
'thursday' => 4,
'friday' => 5,
);
$current_day = strtolower( date( 'l', current_time('timestamp') ) );
$args = array(
'post_type' => 'portfolio',
'orderby' => 'menu_order',
'order' => 'ASC',
'meta_value' => esc_attr( get_post_meta( $post->ID, 'portsort', true ) ),
'posts_per_page' => $days[$current_day],
);
0 commentaire