J'ai quelques publications sur mon site WordPress et disons que je souhaite ajouter un nombre aléatoire à chaque publication avec $num
comme clé et random()
comme valeur. Ensuite, je veux y accéder avec quelque chose comme:
$post->num
ou post_num()
Cela peut-il être fait pendant la boucle? Étant donné que la valeur changera à chaque exécution, je dois le faire pendant The Loop. Je ne peux pas ajouter ce nombre aléatoire en tant que champ personnalisé.
Y a-t-il un moyen d'y parvenir?
Oui, ce n'est pas très courant, mais c'est une technique parfaitement viable et astucieuse.
Une fois les articles récupérés dans WP_Query
, ils sont passés à travers le filtre the_posts
comme ceci (où $this
est une instance de WP_Query
):
$this->posts = apply_filters_ref_array( 'the_posts', array( $this->posts, &$this ) );
Vous venez de parcourir un tableau et d'attribuer les données supplémentaires dont vous avez besoin à des objets. N'oubliez pas de vérifier que la requête est la bonne requête que vous souhaitez cibler.