{"id":232974,"date":"2023-02-02T12:10:00","date_gmt":"2023-02-02T09:10:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232974"},"modified":"2023-02-02T12:23:34","modified_gmt":"2023-02-02T09:23:34","slug":"jak-utworzyc-strone-wordpress-aby-wyswietlic-wszystkie-komentarze","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pl\/jak-utworzyc-strone-wordpress-aby-wyswietlic-wszystkie-komentarze\/","title":{"rendered":"Jak utworzy\u0107 stron\u0119 WordPress, aby wy\u015bwietli\u0107 wszystkie komentarze?"},"content":{"rendered":"<p>Utworzy\u0142em <a href=\"https:\/\/helloacm.com\/list-of-comments\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">t\u0119 stron\u0119<\/a>, <a href=\"https:\/\/codingforspeed.com\/list-of-comments\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">t\u0119 stron\u0119<\/a> i <a href=\"https:\/\/justyy.com\/list-of-comments\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">t\u0119 stron\u0119<\/a>, aby wy\u015bwietla\u0107 wszystkie komentarze strona po stronie. Dzi\u0119ki temu mo\u017cesz \u015bledzi\u0107 wszystkie opublikowane komentarze posortowane wed\u0142ug osi czasu (od najnowszych).<\/p>\n<p>Najpierw musisz stworzy\u0107 stron\u0119 i umie\u015bci\u0107 nast\u0119puj\u0105c\u0105 tre\u015b\u0107 (kt\u00f3ra pozwoli na do\u0142\u0105czenie pliku \u017ar\u00f3d\u0142owego PHP do strony\/postu wordpress):<\/p>\n<pre><code>[ include ]list-of-comments.php[\/ include ]<\/code><\/pre>\n<p>Nast\u0119pnie utw\u00f3rz <a href=\"https:\/\/helloacm.com\/php7-shortens-the-google-page-crawling-time\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP<\/a> zawieraj\u0105cy nast\u0119puj\u0105cy kod \u017ar\u00f3d\u0142owy:<\/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>Nast\u0119pnie b\u0119dziesz potrzebowa\u0107 <a href=\"https:\/\/wordpress.mediadoma.com\/pl\/samouczek-dotyczacy-wtyczki-wordpress-jak-napisac-pierwsza-wtyczke\/\" title=\"wtyczki WordPress\">wtyczki WordPress<\/a>, np. <a href=\"https:\/\/wordpress.org\/plugins\/insert-php\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Simple PHP Include<\/a>, aby do\u0142\u0105czy\u0107 plik PHP do strony. Upewnij si\u0119, \u017ce wyczy\u015bci\u0142e\u015b pami\u0119\u0107 podr\u0119czn\u0105 strony komentarzy. Domy\u015blne komentarze wy\u015bwietlane na stronie to 25, ale mo\u017cesz \u0142atwo dostosowa\u0107 t\u0119 zmienn\u0105.<\/p>\n<p>Musisz r\u00f3wnie\u017c sprawdzi\u0107 i ustawi\u0107 poprawne preferowane adresy URL dla postu, w moim przypadku adres URL ma format \/nazwa_postu.<\/p>\n<p>Bazowy kod <a href=\"https:\/\/wordpress.mediadoma.com\/pl\/jak-wyswietlic-liste-najczesciej-glosowanych-postow-w-ciagu-roku-za-pomoca-sql\/\" title=\"SQL\">SQL<\/a> polega po prostu na po\u0142\u0105czeniu strony <code>**wp_comments**<\/code>i <code>**wp_posts**<\/code>tak, aby podczas wy\u015bwietlania komentarzy wy\u015bwietla\u0142y tylko zatwierdzone komentarze w kolejno\u015bci malej\u0105cej czasu (najnowsze komentarze wymienione jako pierwsze) wraz z tytu\u0142ami post\u00f3w.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/helloacm.com\" class=\"external external_icon\">helloacm.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jak utworzy\u0107 stron\u0119 WordPress, aby wy\u015bwietli\u0107 wszystkie komentarze?<\/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":[897,805,836,845,866],"tags":[1169],"class_list":["post-232974","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kod","category-php-7","category-przewodnik-dla-poczatkujacych","category-samouczki","category-wordpress-7","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/232974","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/comments?post=232974"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/232974\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media\/224757"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media?parent=232974"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/categories?post=232974"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/tags?post=232974"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}