{"id":231494,"date":"2022-12-22T18:16:00","date_gmt":"2022-12-22T15:16:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231494"},"modified":"2022-12-07T10:46:02","modified_gmt":"2022-12-07T07:46:02","slug":"wordpress-mukautetun-viestityypin-sivutus","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/wordpress-mukautetun-viestityypin-sivutus\/","title":{"rendered":"WordPress mukautetun viestityypin sivutus"},"content":{"rendered":"<p>Yleisesti ottaen, kun ty\u00f6skentelen mukautetun viestityypin sivutuksen kanssa, se tehd\u00e4\u00e4n kirjoittamalla mukautettu kysely <a href=\"https:\/\/developer.wordpress.org\/reference\/classes\/wp_query\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WP_Query-komennolla<\/a> ja kutsumalla sitten <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/wp_reset_postdata\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wp_reset_postdata()<\/a> <a href=\"https:\/\/developer.wordpress.org\/themes\/basics\/the-loop\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">silmukan<\/a> lopussa .<\/p>\n<p>Uskon edelleen, ett\u00e4 t\u00e4ll\u00e4 on paikkansa, mutta on olemassa yksinkertaisempi ratkaisu, jonka voit ehk\u00e4 toteuttaa k\u00e4ytt\u00e4m\u00e4ll\u00e4 tietty\u00e4 WordPressin tarjoamaa koukkua.<\/p>\n<p>Tarkoitan erityisesti <a href=\"https:\/\/developer.wordpress.org\/reference\/hooks\/pre_get_posts\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">pre_get_posts-<\/a> koukkua. Koodiviittauksessa voit n\u00e4hd\u00e4, ett\u00e4 t\u00e4m\u00e4 on m\u00e4\u00e4ritelty seuraavasti:<\/p>\n<blockquote>\n<p>K\u00e4ynnistyy, kun kyselymuuttujaobjekti on luotu, mutta ennen varsinaisen kyselyn suorittamista.<\/p>\n<\/blockquote>\n<p>Ja koska kysely sis\u00e4lt\u00e4\u00e4 paljon tietoa, voimme jatkaa sen avulla m\u00e4\u00e4ritt\u00e4\u00e4ksemme, haluammeko muokata tarvittavia argumentteja sivutuksen k\u00e4sittelemiseksi.<\/p>\n<p>T\u00e4ll\u00e4 tarkoitan, ett\u00e4 meid\u00e4n on tarkasteltava <strong>post_type-<\/strong> ominaisuutta ja <strong>posts_per_page<\/strong> -arvoa. Voit tehd\u00e4 t\u00e4m\u00e4n toteuttamalla sen <a href=\"https:\/\/gist.github.com\/tommcfarlin\/1e69ad55ecdb13424a66253c7d7aa4df#file-00-pre-get-posts-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">seuraavalla tavalla<\/a> :<\/p>\n<pre><code>&lt;?php\n\nuse WP_Query;\n\nadd_action('pre_get_posts', __NAMESPACE__. 'customPostTypePagination');\n\/**\n * If we're on the 'acme-post-type' page, then adjusts pagination so there are only two posts per page. This will \n * affect pagination so we can use built-in pagination links to easily page through the content.\n *\n * @param WP_Query the instance of the query object that contains information to populate the template.\n *\n * @return WP_Query an unmodified version of the query object or a modified version if we're on the acme post-type.\n *\/\nfunction customPostTypePagination(WP_Query $query)\n{\n  if (isset($query-&gt;query['post_type']) &amp;&amp; 'acme-post-type' == $query-&gt;query['post_type']) {\n    $query-&gt;set('posts_per_page', 2);\n  }\n}<\/code><\/pre>\n<p>Yll\u00e4 oleva koodi ei ole oliosuuntautunut (jos olisi, perustaisin tilaajan ja luokan, joka vastaa funktion logiikan k\u00e4sittelyst\u00e4), mutta n\u00e4et kuinka se asetetaan perusmuodossaan.<\/p>\n<p>Joten jos k\u00e4yt\u00e4t mukautetun viestityypin sivutusta etk\u00e4 halua k\u00e4sitell\u00e4 mukautetun kyselyn m\u00e4\u00e4ritt\u00e4misen eri puolia, t\u00e4m\u00e4 voi ratkaista ongelmasi.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jos k\u00e4yt\u00e4t mukautetun viestityypin sivutusta etk\u00e4 halua k\u00e4sitell\u00e4 mukautettua kysely\u00e4, t\u00e4m\u00e4 saattaa toimia.<\/p>\n","protected":false},"author":1,"featured_media":235807,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[719,895,834,864],"tags":[1166],"class_list":["post-231494","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kehittaejae","category-koodi","category-opas-aloittelijoille","category-wordpress-5","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/231494","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=231494"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/231494\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/235807"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=231494"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=231494"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=231494"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}