{"id":232964,"date":"2023-02-02T12:32:00","date_gmt":"2023-02-02T09:32:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232964"},"modified":"2023-02-02T12:34:00","modified_gmt":"2023-02-02T09:34:00","slug":"como-crear-una-pagina-de-wordpress-para-listar-todos-los-comentarios","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/como-crear-una-pagina-de-wordpress-para-listar-todos-los-comentarios\/","title":{"rendered":"\u00bfC\u00f3mo crear una p\u00e1gina de WordPress para listar todos los comentarios?"},"content":{"rendered":"<p>He creado <a href=\"https:\/\/helloacm.com\/list-of-comments\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">esta p\u00e1gina<\/a> y <a href=\"https:\/\/codingforspeed.com\/list-of-comments\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">esta p\u00e1gina<\/a> y <a href=\"https:\/\/justyy.com\/list-of-comments\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">esta p\u00e1gina<\/a> para mostrar todos los comentarios p\u00e1gina por p\u00e1gina. Para que pueda realizar un seguimiento de todos los comentarios publicados ordenados por l\u00ednea de tiempo (los m\u00e1s recientes primero).<\/p>\n<p>Primero, deber\u00e1 crear una p\u00e1gina y colocar el siguiente contenido (que permite incluir un archivo fuente PHP en una p\u00e1gina\/publicaci\u00f3n de wordpress):<\/p>\n<pre><code>[ include ]list-of-comments.php[\/ include ]<\/code><\/pre>\n<p>Luego crea un <a href=\"https:\/\/helloacm.com\/php7-shortens-the-google-page-crawling-time\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP<\/a> que contenga el siguiente c\u00f3digo fuente:<\/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>Luego, necesitar\u00e1 un <a href=\"https:\/\/wordpress.mediadoma.com\/es\/tutorial-del-complemento-de-wordpress-como-escribir-el-primer-complemento\/\" title=\"complemento de wordpress\">complemento de wordpress<\/a>, por ejemplo, <a href=\"https:\/\/wordpress.org\/plugins\/insert-php\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Simple PHP Include<\/a> para incluir el archivo PHP en una p\u00e1gina. Aseg\u00farate de borrar el cach\u00e9 de la p\u00e1gina de comentarios. Los comentarios predeterminados que se muestran por p\u00e1gina son 25, pero puede personalizar f\u00e1cilmente esta variable.<\/p>\n<p>Tambi\u00e9n debe verificar y configurar las URL preferibles correctas para la publicaci\u00f3n, en mi caso, la URL tiene el formato \/post_name.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/es\/como-enumerar-las-publicaciones-mas-votadas-en-un-ano-usando-sql\/\" title=\"El SQL\">El SQL<\/a> subyacente es solo para combinar la p\u00e1gina <code>**wp_comments**<\/code>y <code>**wp_posts**<\/code>para que, al enumerar los comentarios, solo muestre los comentarios aprobados en orden descendente de tiempo (los comentarios m\u00e1s nuevos se enumeran primero) con el t\u00edtulo de las publicaciones.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/helloacm.com\" class=\"external external_icon\">helloacm.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfC\u00f3mo crear una p\u00e1gina de WordPress para enumerar todos los comentarios?<\/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":[892,831,800,840,861],"tags":[1172],"class_list":["post-232964","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo","category-guia-para-principiantes","category-php-2","category-tutoriales","category-wordpress-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/232964","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/comments?post=232964"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/232964\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/224757"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=232964"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=232964"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=232964"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}