WordPress : Comment modifier la requête principale ou obtenir les données d’un article ou d’une page ?
Obtenir les données d’une page ou d’un article avec get_post()
[pastacode lang= »php » manual= »echo%20the_title()%3B%20%2F%2F%20Titre%20de%20la%20page%20courante.%0A%24post%20%20%20%3D%20get_post(%2021%20)%3B%0Aecho%20the_title()%3B%20%2F%2F%20Titre%20du%20post%2021.%0A%0A%2F*%0ARetourne%20%3A%20%0AWP_Post%20Object%0A(%0A%20%20%20%20%5BID%5D%20%3D%3E%0A%20%20%20%20%5Bpost_author%5D%20%3D%3E%0A%20%20%20%20%5Bpost_date%5D%20%3D%3E%20%0A%20%20%20%20%5Bpost_date_gmt%5D%20%3D%3E%20%0A%20%20%20%20%5Bpost_content%5D%20%3D%3E%20%0A%20%20%20%20%5Bpost_title%5D%20%3D%3E%20%0A%20%20%20%20%5Bpost_excerpt%5D%20%3D%3E%20%0A%20%20%20%20%5Bpost_status%5D%20%3D%3E%0A%20%20%20%20%5Bcomment_status%5D%20%3D%3E%0A%20%20%20%20%5Bping_status%5D%20%3D%3E%20%0A%20%20%20%20%5Bpost_password%5D%20%3D%3E%20%0A%20%20%20%20%5Bpost_name%5D%20%3D%3E%0A%20%20%20%20%5Bto_ping%5D%20%3D%3E%20%0A%20%20%20%20%5Bpinged%5D%20%3D%3E%20%0A%20%20%20%20%5Bpost_modified%5D%20%3D%3E%20%0A%20%20%20%20%5Bpost_modified_gmt%5D%20%3D%3E%0A%20%20%20%20%5Bpost_content_filtered%5D%20%3D%3E%20%0A%20%20%20%20%5Bpost_parent%5D%20%3D%3E%20%0A%20%20%20%20%5Bguid%5D%20%3D%3E%20%0A%20%20%20%20%5Bmenu_order%5D%20%3D%3E%0A%20%20%20%20%5Bpost_type%5D%20%3D%3E%0A%20%20%20%20%5Bpost_mime_type%5D%20%3D%3E%20%0A%20%20%20%20%5Bcomment_count%5D%20%3D%3E%0A%20%20%20%20%5Bfilter%5D%20%3D%3E%0A)%0A*%2F » message= »Obtenir les données d’une page ou d’un article avec get_post() » highlight= » » provider= »manual »/]Obtenir les données de plusieurs pages ou articles avec get_posts()
Modifie la requête principale :
[pastacode lang= »php » manual= »echo%20the_title()%3B%20%2F%2F%20Titre%20de%20la%20page%20courante.%0A%0A%24args%20%3D%20array(%0A%09’posts_per_page’%20%3D%3E%2010%2C%0A%09’post_status’%20%20%20%3D%3E%20’publish’%2C%0A%09’post_type’%20%20%20%20%20%3D%3E%20’page’%2C%0A)%3B%0A%0A%24posts%20%20%20%3D%20get_posts(%20%24args%20)%3B%0Aforeach%20(%20%24posts%20as%20%24post%20)%20%7B%0A%09echo%20the_title()%3B%20%2F%2F%20Titre%20de%20la%20page%20recherch%C3%A9e.%0A%7D%0A%0Awp_reset_postdata()%3B%20%2F%2F%20restaure%20la%20requ%C3%AAte%20principale.%0A%0Aecho%20the_title()%3B%20%2F%2F%20Titre%20de%20la%20page%20courante. » message= »Modifie la requête principale » highlight= » » provider= »manual »/]Ne modifie pas la requête principale :
[pastacode lang= »php » manual= »echo%20the_title()%3B%20%2F%2F%20Titre%20de%20la%20page%20courante.%0A%0A%24args%20%3D%20array(%0A%09’posts_per_page’%20%3D%3E%2010%2C%0A%09’post_status’%20%20%20%3D%3E%20’publish’%2C%0A%09’post_type’%20%20%20%20%20%3D%3E%20’page’%2C%0A)%3B%0A%0A%24posts%20%20%20%3D%20get_posts(%20%24args%20)%3B%0Aforeach%20(%20%24posts%20as%20%24my_post%20)%20%7B%0A%09echo%20%24my_post-%3Epost_title%3B%20%2F%2F%20Titre%20de%20la%20page%20recherch%C3%A9e.%0A%7D%0A%0Aecho%20the_title()%3B%20%2F%2F%20Titre%20de%20la%20page%20courante. » message= »Ne modifie pas la requête principale » highlight= » » provider= »manual »/]Obtenir les données de plusieurs pages ou articles avec WP_Query()
[pastacode lang= »php » manual= »%24args%20%3D%20array(%0A%09’posts_per_page’%20%3D%3E%2010%2C%0A%09’post_status’%20%20%20%3D%3E%20’publish’%2C%0A%09’post_type’%20%20%20%20%20%3D%3E%20’page’%2C%0A)%3B%0A%0A%24query%20%3D%20new%20WP_Query(%20%24args%20)%3B%0Aif%20(%20%24query-%3Ehave_posts()%20)%20%7B%0A%09while%20(%20%24query-%3Ehave_posts()%20)%20%7B%0A%09%09%24query-%3Ethe_post()%3B%0A%09%09echo%20the_title()%3B%0A%09%7D%0A%09wp_reset_postdata()%3B%0A%7D » message= »Obtenir les données de plusieurs pages ou articles avec WP_Query() » highlight= » » provider= »manual »/]Obtenir une liste de page selon des critères définis
$args
permet de définir quel type de contenu vous souhaitez afficher. Vous trouverez la réponse à toutes vos questions en consultant le codex. Voici ici quelques arguments souvent utiles :
Fusionner plusieurs tableaux d’arguments :
[pastacode lang= »php » manual= »%24args%20%3D%20array(%0A%09’posts_per_page’%20%3D%3E%203%2C%0A%09’post_status’%20%20%20%3D%3E%20’publish’%2C%0A%09’post_type’%20%20%20%20%20%3D%3E%20’page’%2C%0A)%3B%0A%0A%24args2%20%3D%20array(%0A%09’offset’%20%3D%3E%203%2C%0A)%3B%0A%0A%24args%20%3D%20array_merge(%20%24args%2C%20%24args2%20)%3B%20%2F%2F%20Fusionne%20les%20arguments.%0A%0A%24query%20%3D%20new%20WP_Query(%20%24args%20)%3B%0A%2F%2F%20… » message= » » highlight= » » provider= »manual »/]
Si cet article vous a aidé, si vous avez des questions ou des améliorations à proposer, n'hésitez pas à me laisser un commentaire en bas de page !