{"id":232978,"date":"2023-02-02T12:50:00","date_gmt":"2023-02-02T09:50:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232978"},"modified":"2023-02-02T12:51:57","modified_gmt":"2023-02-02T09:51:57","slug":"kuinka-luoda-wordpress-sivu-kaikkien-kommenttien-luetteloimiseksi","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/kuinka-luoda-wordpress-sivu-kaikkien-kommenttien-luetteloimiseksi\/","title":{"rendered":"Kuinka luoda WordPress-sivu kaikkien kommenttien luetteloimiseksi?"},"content":{"rendered":"<p>Olen luonut <a href=\"https:\/\/helloacm.com\/list-of-comments\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">t\u00e4m\u00e4n sivun<\/a> ja <a href=\"https:\/\/codingforspeed.com\/list-of-comments\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">t\u00e4m\u00e4n sivun<\/a> ja <a href=\"https:\/\/justyy.com\/list-of-comments\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">t\u00e4m\u00e4n sivun<\/a> n\u00e4ytt\u00e4\u00e4kseni kaikki kommentit sivulta. Jotta voit pit\u00e4\u00e4 kirjaa kaikista julkaistuista kommenteista aikajanan mukaan lajiteltuina (uusin ensin).<\/p>\n<p>Ensin sinun on luotava sivu ja lis\u00e4tt\u00e4v\u00e4 seuraava sis\u00e4lt\u00f6 (joka sallii PHP-l\u00e4hdetiedoston sis\u00e4llytt\u00e4misen wordpress-sivulle\/viestiin):<\/p>\n<pre><code>[ include ]list-of-comments.php[\/ include ]<\/code><\/pre>\n<p>Luo sitten <a href=\"https:\/\/helloacm.com\/php7-shortens-the-google-page-crawling-time\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP<\/a>, joka sis\u00e4lt\u00e4\u00e4 seuraavan l\u00e4hdekoodin:<\/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>Sitten tarvitset <a href=\"https:\/\/wordpress.mediadoma.com\/fi\/wordpress-plugin-tutorial-kuinka-kirjoittaa-ensimmaeinen-laajennus\/\" title=\"wordpress-laajennuksen\">wordpress-laajennuksen<\/a>, esim. <a href=\"https:\/\/wordpress.org\/plugins\/insert-php\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Simple PHP Include<\/a> sis\u00e4llytt\u00e4\u00e4ksesi PHP-tiedoston sivulle. Varmista, ett\u00e4 tyhjenn\u00e4t kommenttisivun v\u00e4limuistin. Sivua kohden n\u00e4ytett\u00e4v\u00e4 oletuskommentti on 25, mutta voit helposti muokata t\u00e4t\u00e4 muuttujaa.<\/p>\n<p>Sinun on my\u00f6s tarkistettava ja asetettava oikeat ensisijaiset URL-osoitteet viestille, minun tapauksessani URL-osoite on muodossa \/post_name.<\/p>\n<p>Taustalla oleva <a href=\"https:\/\/wordpress.mediadoma.com\/fi\/kuinka-luetella-vuoden-eniten-aeaenestaeneet-viestit-sql-n-avulla\/\" title=\"SQL\">SQL<\/a> on vain yhdist\u00e4\u00e4 <code>**wp_comments**<\/code>ja <code>**wp_posts**<\/code>-sivu niin, ett\u00e4 kommentteja listattaessa se n\u00e4ytt\u00e4\u00e4 vain hyv\u00e4ksytyt kommentit ajankohdan laskevassa j\u00e4rjestyksess\u00e4 (uusimmat kommentit listattuna ensin) viestien otsikoiden kanssa.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/helloacm.com\" class=\"external external_icon\">helloacm.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kuinka luoda WordPress-sivu kaikkien kommenttien luetteloimiseksi?<\/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":[895,834,843,803,864],"tags":[1166],"class_list":["post-232978","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-koodi","category-opas-aloittelijoille","category-opetusohjelmia","category-php-5","category-wordpress-5","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/232978","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/comments?post=232978"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/232978\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/224757"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=232978"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=232978"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=232978"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}