{"id":232219,"date":"2023-01-10T12:26:00","date_gmt":"2023-01-10T09:26:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232219"},"modified":"2022-11-10T08:09:05","modified_gmt":"2022-11-10T05:09:05","slug":"tee-wordpressin-upotetuista-twiiteistae-responsiivisia","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/tee-wordpressin-upotetuista-twiiteistae-responsiivisia\/","title":{"rendered":"Tee WordPressin upotetuista twiiteist\u00e4 responsiivisia"},"content":{"rendered":"\n<p>WordPressin avulla voit upottaa twiittej\u00e4 liitt\u00e4m\u00e4ll\u00e4 twiitin URL-osoitteen viesteihisi. Saat mukavan kortin, jossa on twiitti ja kaikki asiaankuuluvat tiedot. Valitettavasti t\u00e4m\u00e4 kortti ei toimi responsiivisilla sivustoilla Twitterin k\u00e4ytt\u00e4m\u00e4n korjausleveyden vuoksi. T\u00e4ss\u00e4 viestiss\u00e4 n\u00e4emme, kuinka se poistetaan ja kuinka upotettu twiittimme saadaan reagoimaan kunnolla.<\/p>\n<h2>Yleiskatsaus<\/h2>\n<p>Ennen kuin twiitti k\u00e4sitell\u00e4\u00e4n niin, ett\u00e4 se n\u00e4ytt\u00e4\u00e4 kortin, jossa on kirjoittaja, Twitter-avatar, seurantapainike ja muut metatiedot, se n\u00e4ytet\u00e4\u00e4n pelkk\u00e4n\u00e4 blockquote-HTML-elementtin\u00e4 kiinte\u00e4n leveyden attribuutilla, joka on oletuksena 500 pikseli\u00e4. Tietenkin t\u00e4m\u00e4 kiinte\u00e4 leveys rikkoo reagoivan asettelumme, joten periaatteessa meid\u00e4n on poistettava t\u00e4m\u00e4 attribuutti, jotta k\u00e4sitelty twiittikortti n\u00e4kyy ilman kiinte\u00e4\u00e4 leveytt\u00e4.<\/p>\n<p>Sen poistamisen j\u00e4lkeen k\u00e4yt\u00e4mme yksinkertaista CSS-tyyli\u00e4, jotta se toimii responsiivisesti muiden sivuston mittojen kanssa.<\/p>\n<h2>WordPress oEmbed ja suodattimet<\/h2>\n<p>Tweetimme on sijoitettu k\u00e4ytt\u00e4m\u00e4ll\u00e4 oEmbedi\u00e4, WordPressin k\u00e4ytt\u00e4m\u00e4\u00e4 tekniikkaa, jonka avulla voimme lis\u00e4t\u00e4 sis\u00e4lt\u00f6\u00e4 muilta sivustoilta vain asettamalla linkin tekstieditoriin. WordPress tekee automaattisesti kyselyn palveluntarjoajan sivustolta (joka ei voi olla vain Twitter, vaan YouTube, Vimeo ja muut) ja saa HTML-koodin lis\u00e4tt\u00e4v\u00e4ksi sivustoomme.<\/p>\n<p>Palveluntarjoajan sivuston palauttama HTML voidaan k\u00e4sitell\u00e4 jollakin WordPressin tarjoamista suodattimista ja muuttaa merkint\u00f6j\u00e4. K\u00e4yt\u00e4mme suodatinta <strong>oembed_result<\/strong>, joka suoritetaan sen j\u00e4lkeen, kun HTML-koodi on hankittu oEmbed-palveluntarjoajalta ja ennen kuin se on tallennettu v\u00e4limuistiin. T\u00e4m\u00e4n etuna on, ett\u00e4 suodatinta ei tarvitse suorittaa joka kerta, kun sivustolla vieraillaan, mik\u00e4 johtaa nopeampaan reagointiin ja tietysti nopeampiin latausaikaan.<\/p>\n<h2>Tweetin suodatus<\/h2>\n<p>T\u00e4m\u00e4 koodi tulee sijoittaa teemasi functions.php-tiedostoon<\/p>\n<pre><code>&lt;?php\n\/** Remove fixed width from embedded tweets. First step to make them responsive. \n * @param string $html HTML that should be used to embed \n * @param string $url The URL to the content that should be attempted to be embedded. \n * @param array $args Optional arguments. \n * @author Elio Rivero \n * @link https:\/\/startfunction.com \n *\/ \nfunction startfunction_oembed_result($html, $url, $args)\n{\n    \/\/ Check if it's a tweet looking for 'twitter' in the url pasted in the post\n    if (stripos($url, 'twitter')) {\n        \/\/ Before the tweet is processed, it's displayed as a blockquote \/\/ with its width attribute set, so let's remove it. \n        return preg_replace('#width=\"(.*)\"#', '', $html);\n    }\n    \/\/ Otherwise return the HTML as is. \n    return $html;\n} \n\/\/ Filter the result of the oEmbed extraction. \nadd_filter('oembed_result', 'startfunction_oembed_result', 10, 3);\n<\/code><\/pre>\n<p>Parametri <code>$url<\/code>on linkki upotettavaan twiittiin. Tarkistamme, onko se Twitterist\u00e4, koska muuten emme halua suorittaa t\u00e4t\u00e4. K\u00e4yt\u00e4mme str_replacea etsim\u00e4\u00e4n merkkijonoa, <strong><code>width=\"500\"<\/code><\/strong>joka korvaa sen tyhj\u00e4ll\u00e4 merkkijonolla.<\/p>\n<h2>Tweettikortin tekeminen reagoivaksi<\/h2>\n<p>Meid\u00e4n on viel\u00e4 lis\u00e4tt\u00e4v\u00e4 hieman CSS:\u00e4\u00e4, jotta se reagoisi, joten lis\u00e4\u00e4 seuraava teemasi (tai laajennuksen) tyylitaulukkoon<\/p>\n<pre><code>#main .twitter-tweet-rendered, #main .twt-border {\n    max-width: 100% !important; \n}<\/code><\/pre>\n<p>ja juuri t\u00e4m\u00e4n avulla upotetut twiittisi reagoivat.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/startfunction.com\" class=\"external external_icon\">startfunction.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>WordPressin avulla voit upottaa twiittej\u00e4 liitt\u00e4m\u00e4ll\u00e4 twiitin URL-osoitteen viesteihisi. Saat mukavan kortin, jossa on twiitti ja kaikki asiaankuuluvat tiedot. Valitettavasti t\u00e4m\u00e4 kortti<\/p>\n","protected":false},"author":1,"featured_media":236911,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[895,813,834,843,864],"tags":[1166],"class_list":["post-232219","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-koodi","category-laajennuksia","category-opas-aloittelijoille","category-opetusohjelmia","category-wordpress-5","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/232219","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=232219"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/232219\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/236911"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=232219"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=232219"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=232219"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}