{"id":229289,"date":"2022-10-28T12:06:00","date_gmt":"2022-10-28T09:06:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229289"},"modified":"2022-11-09T06:19:10","modified_gmt":"2022-11-09T03:19:10","slug":"lataa-kaikki-wordpressin-mukautetut-kentaet-tietokantakyselyn-kautta","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/lataa-kaikki-wordpressin-mukautetut-kentaet-tietokantakyselyn-kautta\/","title":{"rendered":"Lataa kaikki WordPressin mukautetut kent\u00e4t tietokantakyselyn kautta"},"content":{"rendered":"<p>Kun haen tietoa WordPress-tietokannasta, v\u00e4lt\u00e4n mieluummin suoria tietokantakyselyj\u00e4, mutta joskus niist\u00e4 voi olla hy\u00f6ty\u00e4 (ja on t\u00e4rke\u00e4\u00e4, ett\u00e4 se tehd\u00e4\u00e4n oikein).<\/p>\n<p>Yksi k\u00e4ytt\u00f6tapaus, jossa se voi olla hy\u00f6dyllist\u00e4, on silloin, kun sinun on noudettava yhden tyypin tietojoukko. Esimerkki: Oletetaan, ett\u00e4 sinun on ladattava kaikki WordPressin mukautetut kent\u00e4t.<\/p>\n<p>T\u00e4t\u00e4 kirjoittaessani ei ole tietoinen toimintoa, joka tekisi t\u00e4m\u00e4n, joten teen n\u00e4in kyselyn tietokannasta.<\/p>\n<h2>Lataa kaikki WordPressin mukautetut kent\u00e4t<\/h2>\n<p>Tiettyyn viestiin liittyviss\u00e4 muokatuissa kentiss\u00e4 on useita huomioitavia asioita:<\/p>\n<ul>\n<li>mukautetut kent\u00e4t tallennetaan postin metatietoihin,<\/li>\n<li>mukautettuja kentti\u00e4 pidet\u00e4\u00e4n yksityisin\u00e4, joten niiden eteen on liitetty alaviiva,<\/li>\n<li>WordPress-koodausstandardit eiv\u00e4t pid\u00e4 t\u00e4st\u00e4 (joten sinun on ehk\u00e4 j\u00e4tett\u00e4v\u00e4 standardit huomiotta)<\/li>\n<\/ul>\n<p>Voit lukea niist\u00e4 kaikki <a href=\"https:\/\/codex.wordpress.org\/Custom_Fields\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Codexista<\/a>.<\/p>\n<p>Ja kyll\u00e4, on helppoa saada kaikki mukautetut tiedot yhteen viestiin. Mutta jos ty\u00f6skentelet projektissa, jossa sinun on noudettava kaikki mukautetut kent\u00e4t, nimitt\u00e4in ne, jotka ovat yksityisi\u00e4, sinun on varmistettava, ett\u00e4 etsit alaviivalla alkavia merkkijonoja.<\/p>\n<p>Joten ladataksesi kaikki WordPressin mukautetut kent\u00e4t tietokantaan, <a href=\"https:\/\/gist.github.com\/tommcfarlin\/206b5b224488db5ba5e28ee106286695\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">k\u00e4yt\u00e4n t\u00e4ss\u00e4 kysely\u00e4<\/a> :<\/p>\n<pre><code>&lt;?php\n\nfunction get_the_custom_fields() {\n\n    global $wpdb;\n\n    $results = $wpdb-&gt;get_results(\n        $wpdb-&gt;prepare(\n            \"\n            SELECT meta_key, meta_value\n            FROM   $wpdb-&gt;postmeta\n            WHERE  meta_key REGEXP '%s'\n            \", '^[_]') );\n\n    return $results;\n}\n<\/code><\/pre>\n<p>Muutama huomioitavaa yll\u00e4 olevasta kyselyst\u00e4:<\/p>\n<ul>\n<li>K\u00e4yt\u00e4n <a href=\"https:\/\/developer.wordpress.org\/reference\/classes\/wpdb\/prepare\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">valmistelu<\/a> &#8211; funktiota ennen <a href=\"https:\/\/developer.wordpress.org\/reference\/classes\/wpdb\/get_results\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">get_results -toimintoa<\/a>. T\u00e4m\u00e4 on parametrointia ja turvallisuutta varten. Jos se on sinulle uutta, suosittelen <a href=\"https:\/\/codex.wordpress.org\/Class_Reference\/wpdb#Protect_Queries_Against_SQL_Injection_Attacks\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">t\u00e4m\u00e4n artikkelin<\/a> lukemista .<\/li>\n<li>T\u00e4m\u00e4 palauttaa kaikki taulukon metaavaimet ja meta-arvot,<\/li>\n<li>Riippuen siit\u00e4, kuinka monta tietuetta haluat palauttaa, t\u00e4m\u00e4 voi kest\u00e4\u00e4 jonkin aikaa (ja se pit\u00e4isi ehk\u00e4 tehd\u00e4 eriss\u00e4).<\/li>\n<\/ul>\n<p>Lopuksi, niille, jotka ovat kiinnostuneita, indeksej\u00e4 ei ole meta_value-sarakkeessa, mutta niit\u00e4 on meta_avain-sarakkeessa.<\/p>\n<p>Post Meta -taulukon sarakkeet indekseill\u00e4.<\/p>\n<p>Joten jos p\u00e4\u00e4t\u00e4t muokata kysely\u00e4 ja haluat k\u00e4ytt\u00e4\u00e4 sarakkeita, joissa on indeksit, katso meta_id, post_id ja meta_key.<\/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>Suoran tietokantakyselyn avulla voit ladata kaikki WordPressin mukautetut kent\u00e4t. N\u00e4in voit tehd\u00e4 sen turvallisella tavalla.<\/p>\n","protected":false},"author":1,"featured_media":220737,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[719,895,864],"tags":[1166],"class_list":["post-229289","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kehittaejae","category-koodi","category-wordpress-5","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/229289","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=229289"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/229289\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/220737"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=229289"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=229289"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=229289"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}