{"id":233027,"date":"2023-02-02T11:59:00","date_gmt":"2023-02-02T08:59:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233027"},"modified":"2023-02-02T11:59:45","modified_gmt":"2023-02-02T08:59:45","slug":"comment-creer-une-page-wordpress-pour-lister-tous-les-commentaires","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fr\/comment-creer-une-page-wordpress-pour-lister-tous-les-commentaires\/","title":{"rendered":"Comment cr\u00e9er une page WordPress pour lister tous les commentaires ?"},"content":{"rendered":"<p>J&rsquo;ai cr\u00e9\u00e9 <a href=\"https:\/\/helloacm.com\/list-of-comments\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">cette page<\/a> et <a href=\"https:\/\/codingforspeed.com\/list-of-comments\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">cette page<\/a> et <a href=\"https:\/\/justyy.com\/list-of-comments\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">cette page<\/a> pour afficher tous les commentaires page par page. Pour que vous puissiez garder une trace de tous les commentaires post\u00e9s tri\u00e9s par chronologie (le plus r\u00e9cent en premier).<\/p>\n<p>Tout d&rsquo;abord, vous devrez cr\u00e9er une page et mettre le contenu suivant (qui permet d&rsquo;inclure un fichier source PHP dans une page\/poste wordpress)\u00a0:<\/p>\n<pre><code>[ include ]list-of-comments.php[\/ include ]<\/code><\/pre>\n<p>Cr\u00e9ez ensuite un <a href=\"https:\/\/helloacm.com\/php7-shortens-the-google-page-crawling-time\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP<\/a> contenant le code source suivant\u00a0:<\/p>\n<pre><code>&lt;php\n\/\/ Author: &lt;a class=\"vglnk\" target=\"_blank\" href=\"https:\/\/helloacm.com\/how-to-create-a-wordpress-page-to-list-all-comments\/\" rel=\"nofollow\"&gt;&lt;span&gt;https&lt;\/span&gt;&lt;span&gt;:\/\/&lt;\/span&gt;&lt;span&gt;helloacm&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;com&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;span&gt;how&lt;\/span&gt;&lt;span&gt;-&lt;\/span&gt;&lt;span&gt;to&lt;\/span&gt;&lt;span&gt;-&lt;\/span&gt;&lt;span&gt;create&lt;\/span&gt;&lt;span&gt;-&lt;\/span&gt;&lt;span&gt;a&lt;\/span&gt;&lt;span&gt;-&lt;\/span&gt;&lt;span&gt;wordpress&lt;\/span&gt;&lt;span&gt;-&lt;\/span&gt;&lt;span&gt;page&lt;\/span&gt;&lt;span&gt;-&lt;\/span&gt;&lt;span&gt;to&lt;\/span&gt;&lt;span&gt;-&lt;\/span&gt;&lt;span&gt;list&lt;\/span&gt;&lt;span&gt;-&lt;\/span&gt;&lt;span&gt;all&lt;\/span&gt;&lt;span&gt;-&lt;\/span&gt;&lt;span&gt;comments&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;\/a&gt;\n\u00a0 global $wpdb;\n\u00a0 \n\u00a0 $query = \"\n \u00a0 \u00a0select \n \u00a0 \u00a0 \u00a0 \u00a0count(1) \n \u00a0 \u00a0from \n \u00a0 \u00a0 \u00a0 \u00a0`wp_comments`,`wp_posts` \n \u00a0 \u00a0where \n \u00a0 \u00a0 \u00a0 \u00a0`wp_comments`.`comment_approved` = 1 and \n \u00a0 \u00a0 \u00a0 \u00a0`wp_comments`.`comment_post_ID` = `wp_posts`.`ID` and \n \u00a0 \u00a0 \u00a0 \u00a0`wp_posts`.`post_status` = 'publish'\n \u00a0\";\n\u00a0 $total = $wpdb-&gt;get_var($query);\n\u00a0 \n\u00a0 $per = 25; \/\/ default comments per page\n\u00a0 $page = get_query_var('page');\n\u00a0 if (!$page) {\n\u00a0 \u00a0 $page = 1;\n\u00a0 }\n\u00a0 \n\u00a0 $totalpages = ceil($total \/ $per);\n\u00a0 if ($page &gt; $totalpages) {\n\u00a0 \u00a0 $page = 1;\n\u00a0 }\n\u00a0 \n\u00a0 $lowerbound = ($page - 1) * $per;\n\u00a0 $upperbound = $lowerbound + $per;\n\u00a0 $lmt=\" limit \". $lowerbound. \",\". $per;\n\u00a0 \n\u00a0 $query = \"select \n \u00a0 \u00a0`comment_post_ID`,\n \u00a0 \u00a0`comment_author`,\n \u00a0 \u00a0`comment_author_email`,\n \u00a0 \u00a0`comment_author_url`,\n \u00a0 \u00a0`comment_date_gmt`,\n \u00a0 \u00a0`comment_content`,\n \u00a0 \u00a0`post_title`,\n \u00a0 \u00a0`post_name` \u00a0\n \u00a0 from \n \u00a0 \u00a0`wp_comments`,`wp_posts` \n \u00a0 where \n \u00a0 \u00a0`wp_comments`.`comment_approved` = 1 and \n \u00a0 \u00a0`wp_comments`.`comment_post_ID` = `wp_posts`.`ID` and \n \u00a0 \u00a0`wp_posts`.`post_status` = 'publish' \n \u00a0 order by \n \u00a0 \u00a0`comment_ID` desc $lmt\";\n\u00a0 \n\u00a0 $result = $wpdb-&gt;get_results($query);\n\u00a0 \n\u00a0 echo \"Total &lt;B&gt;$total&lt;\/B&gt; Comments ($page\/$totalpages Pages) - \"; \u00a0\n\u00a0 if ($page &gt; 1) {\n\u00a0 \u00a0 echo \"&lt;a href='?page=\".($page-1).\"'&gt;Newer Comments&lt;\/a&gt; - \";\n\u00a0 }\n\u00a0 if ($page &lt; $totalpages) {\n\u00a0 \u00a0 echo \"&lt;a href='?page=\".($page+1).\"'&gt;Older Comments&lt;\/a&gt;\";\n\u00a0 }\n\u00a0 \n\u00a0 echo \"&lt;BR\/&gt;&lt;BR\/&gt;\"; \u00a0\n\u00a0 if ($result) {\n\u00a0 \u00a0 $i = $lowerbound + 1;\n\u00a0 \u00a0 foreach ($result as $comment) {\n\u00a0 \u00a0 \u00a0 $created_at = $comment-&gt;comment_date_gmt;\n\u00a0 \u00a0 \u00a0 $text = strip_tags($comment-&gt;comment_content, \"&lt;p&gt;&lt;br&gt;&lt;div&gt;&lt;img&gt;&lt;span&gt;&lt;pre&gt;&lt;video&gt;&lt;audio&gt;\");\n\u00a0 \u00a0 \u00a0 $author = $comment-&gt;comment_author;\n\u00a0 \u00a0 \u00a0 $email = $comment-&gt;comment_author_email;\n\u00a0 \u00a0 \u00a0 $url = $comment-&gt;comment_author_url;\n\u00a0 \u00a0 \u00a0 $post_id = $comment-&gt;comment_post_ID;\n\u00a0 \u00a0 \u00a0 $post_title = $comment-&gt;post_title;\n\u00a0 \u00a0 \u00a0 $post_name = $comment-&gt;post_name;\n\u00a0 \u00a0 \u00a0 echo \"&lt;B&gt;$i&lt;\/B&gt;. &lt;i&gt;$created_at&lt;\/i&gt; &lt;a rel=nofollow target=_blank href='$url'&gt;$author&lt;\/a&gt; Comments on &lt;a href='&lt;a class=\"vglnk\" target=\"_blank\" href=\"https:\/\/helloacm.com\/$post_name\/\" rel=\"nofollow\"&gt;&lt;span&gt;https&lt;\/span&gt;&lt;span&gt;:\/\/&lt;\/span&gt;&lt;span&gt;helloacm&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;com&lt;\/span&gt;&lt;span&gt;\/$&lt;\/span&gt;&lt;span&gt;post&lt;\/span&gt;&lt;span&gt;_&lt;\/span&gt;&lt;span&gt;name&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;\/a&gt;'&gt;$post_title&lt;\/a&gt;: &lt;BR\/&gt;&lt;div&gt;$text&lt;\/div&gt;\";\n\u00a0 \u00a0 \u00a0 $i++;\n\u00a0 \u00a0 \u00a0 echo \"&lt;BR\/&gt;&lt;BR\/&gt;\"; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\n\u00a0 \u00a0 }\n\u00a0 } \u00a0\n\u00a0 \n\u00a0 if ($page &lt; $totalpages) {\n\u00a0 \u00a0 echo \"&lt;a href='?page=\".($page+1).\"'&gt;Older Comments&lt;\/a&gt; - \";\n\u00a0 }\n\u00a0 if ($page &gt; 1) {\n\u00a0 \u00a0 echo \"&lt;a href='?page=\".($page-1).\"'&gt;Newer Comments&lt;\/a&gt;\";\n\u00a0 }<\/code><\/pre>\n<p>Ensuite, vous aurez besoin d&rsquo;un <a href=\"https:\/\/wordpress.mediadoma.com\/fr\/tutoriel-plugin-wordpress-comment-ecrire-le-premier-plugin\/\" title=\"plugin wordpress\">plugin wordpress<\/a> par exemple <a href=\"https:\/\/wordpress.org\/plugins\/insert-php\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Simple PHP Include<\/a> pour inclure le fichier PHP dans une page. Assurez-vous de vider le cache de la page de commentaires. Les commentaires par d\u00e9faut affich\u00e9s par page sont de 25, mais vous pouvez facilement personnaliser cette variable.<\/p>\n<p>Vous devez \u00e9galement v\u00e9rifier et d\u00e9finir les URL pr\u00e9f\u00e9rables correctes pour la publication, dans mon cas, l&rsquo;URL est au format \/post_name.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/fr\/comment-repertorier-les-messages-les-plus-votes-en-une-annee-a-laide-de-sql\/\" title=\"Le SQL\">Le SQL<\/a> sous-jacent consiste simplement \u00e0 combiner la page <code>**wp_comments**<\/code>et <code>**wp_posts**<\/code>de sorte que lors de la liste des commentaires, il n&rsquo;affiche que les commentaires approuv\u00e9s dans l&rsquo;ordre d\u00e9croissant du temps (les commentaires les plus r\u00e9cents r\u00e9pertori\u00e9s en premier) avec le titre des messages.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/helloacm.com\" class=\"external external_icon\">helloacm.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Comment cr\u00e9er une page WordPress pour lister tous les commentaires ?<\/p>\n","protected":false},"author":1,"featured_media":224757,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[893,832,801,841,862],"tags":[1167],"class_list":["post-233027","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-code-2","category-guide-pour-les-debutants","category-php-3","category-tutoriels","category-wordpress-3","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/233027","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/comments?post=233027"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/233027\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media\/224757"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media?parent=233027"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/categories?post=233027"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/tags?post=233027"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}