web-dev-qa-db-fra.com

Insertion de données personnalisées dans the_post () pendant la boucle

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?

1
kutlus

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.

1
Rarst