{"id":233013,"date":"2023-02-02T15:52:00","date_gmt":"2023-02-02T12:52:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233013"},"modified":"2022-11-10T18:45:42","modified_gmt":"2022-11-10T15:45:42","slug":"kuidas-luua-php-abil-arhiivilehte-kokkuvote-koigi-wordpressi-postituste-lehtede-jaoks","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/kuidas-luua-php-abil-arhiivilehte-kokkuvote-koigi-wordpressi-postituste-lehtede-jaoks\/","title":{"rendered":"Kuidas luua PHP abil arhiivilehte (kokkuv\u00f5te) k\u00f5igi WordPressi postituste\/lehtede jaoks?"},"content":{"rendered":"<p>Olen just loonud oma kahe ajaveebi jaoks kaks kokkuv\u00f5tlikku lehte: <a href=\"https:\/\/helloacm.com\/archives-of-pagesposts\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">https:\/\/helloacm.com\/archives-of-pagesposts\/<\/a> ja <a href=\"https:\/\/www.codingforspeed.com\/archives-of-pagesposts\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">http:\/\/www.codingforspeed.com\/archives-of-pagesposts\/<\/a>.<\/p>\n<p>M\u00f5lemal lehel on k\u00f5ik artiklid (ka lehek\u00fcljed) sorteeritud kuude kaupa. Iga postituse kommentaaride arv loendatakse ja tr\u00fckitakse postituse pealkirja j\u00e4rel sulgudes.<\/p>\n<p>See v\u00f5ib olla hea, et loetleda k\u00f5ik artiklid\/lehed kasutajatele ja ka otsingumootoritele, nii et see leht toimib ka saidikaardina.<\/p>\n<p>Nagu kokkuv\u00f5tte lehel n\u00e4ha, prindib ta esmalt v\u00e4lja postituste\/lehek\u00fclgede koguarvu ja iga kuu kohta (ainult siis, kui sellel kuul on v\u00e4hemalt postitus\/leht avaldatud), genereerib taandega lingid.<\/p>\n<p>Niisiis, kuidas me selle saavutame? Esiteks vajate WordPressis m\u00f5nda pistikprogrammi, et saaksite postitustesse\/lehtedesse lisada PHP-koodi. P\u00e4rast sisselogimist minge WordPressi juhtpaneelile ja navigeerige jaotisse Pluginad ja &quot;Lisa uus&quot;. Otsige &quot;Kaasa PHP&quot; ja leiate palju valikuid.<\/p>\n<p>Seej\u00e4rel kopeerige ja kleepige j\u00e4rgmine PHP-kood \u00fchte PHP-faili teema juurkataloogi.<\/p>\n<pre><code>\/\/ &lt;a class=\"vglnk\" target=\"_blank\" href=\"http:\/\/helloacm.com\" rel=\"nofollow\"&gt;&lt;span&gt;helloacm&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;com&lt;\/span&gt;&lt;\/a&gt;\n\u00a0 global $wpdb;\n\u00a0 $query = \"select count(1) from `wp_posts` where (post_type = 'page' or post_type = 'post') and `post_status` = 'publish'\";\n\u00a0 $total = $wpdb-&gt;get_var($query);\n\u00a0 echo \"&lt;h2&gt;Archives&lt;\/h2&gt;\";\n\u00a0 $query = \"select concat(year(`post_date`), '-', month(`post_date`)) as `month`, count(1) as `cnt` from `wp_posts` where (post_type='page' or post_type='post') and `post_status` = 'publish' group by `month` order by `post_date` desc\";\n\u00a0 $result = $wpdb-&gt;get_results($query);\n\u00a0 echo \"&lt;ul&gt;\";\n\u00a0 if ($result) {\n\u00a0 \u00a0 foreach ($result as $month) {\n\u00a0 \u00a0 \u00a0 echo \"&lt;li&gt;\".$month-&gt;month.\" (\".$month-&gt;cnt.\")&lt;\/li&gt;\"; \u00a0\n\u00a0 \u00a0 \u00a0 $m = explode('-', $month-&gt;month);\n\u00a0 \u00a0 \u00a0 $y = $m[0];\n\u00a0 \u00a0 \u00a0 $m = $m[1];\n\u00a0 \u00a0 \u00a0 $q = \"select `post_name`, `post_title`, day(`post_date`) as `day`, `id` from `wp_posts` where (post_type='page' or post_type='post') and `post_status` = 'publish' and month(`post_date`)='$m' and year(`post_date`)='$y' order by `post_date` desc\";\n\u00a0 \u00a0 \u00a0 $r = $wpdb-&gt;get_results($q);\n\u00a0 \u00a0 \u00a0 if ($r) {\n\u00a0 \u00a0 \u00a0 \u00a0 echo \"&lt;ul&gt;\";\n\u00a0 \u00a0 \u00a0 \u00a0 foreach ($r as $post) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 $cnt = $wpdb-&gt;get_var(\"select count(1) from `wp_comments` where `comment_approved`=1 and `comment_post_ID` = \".$post-&gt;id);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!$cnt) $cnt = 0; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 echo \"&lt;li&gt;\".$post-&gt;day.\": &lt;a title='\".htmlentities($post-&gt;post_title, ENT_QUOTES).\"' href='&lt;a class=\"vglnk\" target=\"_blank\" href=\"https:\/\/helloacm.com\/\".$post-\" 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;\/a&gt;&gt;post_name.\"\/'&gt;\".$post-&gt;post_title.\"&lt;\/a&gt; ($cnt)&lt;\/li&gt;\"; \u00a0\n\u00a0 \u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 \u00a0 \u00a0 echo \"&lt;\/ul&gt;\";\n\u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 } \u00a0\n\u00a0 }\n\u00a0 echo \"&lt;\/ul&gt;\";<\/code><\/pre>\n<p>Algoritm on SQL-is aasta-kuu j\u00e4rgi r\u00fchmitamine ja iga kuu silmus ning selle kuu k\u00f5ik postitused\/lehed hankimine. Kasutage SQL-lause k\u00e4ivitamiseks globaalset muutujat <strong>$wpdb .<\/strong> Kasutage <strong>get_var<\/strong> \u00fche muutuja SQL-lausete jaoks, nagu n\u00e4iteks <strong>select count(1)<\/strong>, ja <strong>get_results<\/strong> mitme rea jaoks.<\/p>\n<p>Muutke WordPressi tabeli nime <strong>wp_posts<\/strong>, kui prefiks ei ole <strong>wp_<\/strong>. Postituste tabeli nime saamiseks v\u00f5ite siiski kasutada <strong>$wpdb-&gt;postitusi, mis on parem meetod.<\/strong> Filtreerige postitusi\/lehti, muutes vastavalt vastavaid SQL-i (kus p\u00f5hjus) lauseid.<\/p>\n<p>Lisaks loetakse Facebooki meeldimised ja need on samuti sulgudes. Selleks peate looma teise tabeli, millel on artikli ID ja meeldimiste numbri v\u00f5tmepaar. Peate seadistama <a href=\"https:\/\/helloacm.com\/crontab-generator\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">crontabi<\/a>, mis t\u00f6\u00f6tab v\u00f5ib-olla kord tunnis, et v\u00e4rskendada iga postituse Facebooki meeldimisi (v\u00f5i muid suhtlusv\u00f5rgustikke). Seda k\u00e4sitletakse teises eraldi \u00f5petuses.<\/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>Kuidas luua PHP abil arhiivilehte (kokkuv\u00f5te) k\u00f5igi WordPressi postituste\/lehtede jaoks?<\/p>\n","protected":false},"author":1,"featured_media":224083,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[833,894,916,842,802,863],"tags":[1165],"class_list":["post-233013","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-juhend-algajatele","category-kood","category-muud","category-opetused","category-php-4","category-wordpress-4","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/233013","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/comments?post=233013"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/233013\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/224083"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=233013"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=233013"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=233013"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}