{"id":231664,"date":"2023-01-10T11:40:00","date_gmt":"2023-01-10T08:40:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231664"},"modified":"2022-12-25T18:56:38","modified_gmt":"2022-12-25T15:56:38","slug":"goer-inbaeddade-tweets-i-wordpress-responsiva","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/sv\/goer-inbaeddade-tweets-i-wordpress-responsiva\/","title":{"rendered":"G\u00f6r inb\u00e4ddade tweets i WordPress responsiva"},"content":{"rendered":"\n<p>WordPress l\u00e5ter dig b\u00e4dda in tweets genom att klistra in tweets URL i dina inl\u00e4gg. Du f\u00e5r ett fint kort med tweeten och alla relevanta detaljer. Tyv\u00e4rr kommer det h\u00e4r kortet inte att fungera p\u00e5 responsiva webbplatser p\u00e5 grund av en fixbredd som till\u00e4mpas av Twitter. I det h\u00e4r inl\u00e4gget kommer vi att se hur man tar bort det och \u00e4ven g\u00f6r v\u00e5r inb\u00e4ddade tweet korrekt responsiv.<\/p>\n<h2>\u00d6versikt<\/h2>\n<p>Innan tweeten bearbetas f\u00f6r att visa kortet med f\u00f6rfattaren, Twitter-avatar, f\u00f6ljknapp och annan metadata, visas den som ett vanligt HTML-element med blockcitat med attributet fast width, som som standard \u00e4r 500px. Naturligtvis kommer denna fasta bredd att bryta v\u00e5r responsiva layout, s\u00e5 i grund och botten m\u00e5ste vi ta bort det h\u00e4r attributet s\u00e5 att det behandlade tweetkortet visas utan fast bredd.<\/p>\n<p>Efter att ha tagit bort det kommer vi att till\u00e4mpa en enkel CSS-stil s\u00e5 att den fungerar responsivt med resten av webbplatsens dimensioner.<\/p>\n<h2>WordPress oB\u00e4dda in och filter<\/h2>\n<p>V\u00e5r tweet placeras med hj\u00e4lp av oEmbed, en teknik som anv\u00e4nds av WordPress som g\u00f6r att vi kan infoga inneh\u00e5ll fr\u00e5n andra webbplatser bara genom att placera l\u00e4nken i v\u00e5r inl\u00e4ggsredigerare. WordPress kommer automatiskt att fr\u00e5ga efter leverant\u00f6rens webbplats (som inte bara kan vara Twitter, utan YouTube, Vimeo och andra) och f\u00e5 HTML-koden att infoga p\u00e5 v\u00e5r webbplats.<\/p>\n<p>HTML-koden som returneras av leverant\u00f6rens webbplats kan bearbetas med ett av filtren WordPress tillhandah\u00e5ller f\u00f6r att g\u00f6ra det och \u00e4ndra uppm\u00e4rkningen. Vi kommer att anv\u00e4nda filtret <strong>oembed_result<\/strong>, som k\u00f6rs efter att ha h\u00e4mtat HTML fr\u00e5n oEmbed-leverant\u00f6ren och innan det sparas i cachen. F\u00f6rdelen med detta \u00e4r att filtret inte beh\u00f6ver k\u00f6ras varje g\u00e5ng webbplatsen bes\u00f6ks, vilket resulterar i snabbare svar och naturligtvis snabbare laddningstider.<\/p>\n<h2>Filtrerar tweeten<\/h2>\n<p>Denna kod b\u00f6r placeras i functions.php-filen f\u00f6r ditt tema<\/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>Parametern <code>$url<\/code>\u00e4r l\u00e4nken till tweeten vi b\u00e4ddar in. Vi kollar om det \u00e4r fr\u00e5n Twitter, eftersom vi annars inte vill k\u00f6ra det h\u00e4r. Vi anv\u00e4nder str_replace f\u00f6r att leta efter str\u00e4ngen <strong><code>width=\"500\"<\/code><\/strong>som ers\u00e4tter den med en tom str\u00e4ng.<\/p>\n<h2>G\u00f6ra tweetkortet responsivt<\/h2>\n<p>Vi beh\u00f6ver fortfarande l\u00e4gga till lite CSS f\u00f6r att g\u00f6ra den responsiv, s\u00e5 infoga f\u00f6ljande i din stilmall f\u00f6r tema (eller plugin)<\/p>\n<pre><code>#main .twitter-tweet-rendered, #main .twt-border {\n    max-width: 100% !important; \n}<\/code><\/pre>\n<p>och bara med detta kommer dina inb\u00e4ddade tweets att vara lyh\u00f6rda.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/startfunction.com\" class=\"external external_icon\">startfunction.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>WordPress l\u00e5ter dig b\u00e4dda in tweets genom att klistra in tweets URL i dina inl\u00e4gg. Du f\u00e5r ett fint kort med tweeten och alla relevanta detaljer. Tyv\u00e4rr detta kort<\/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":[838,848,901,818,868],"tags":[1173],"class_list":["post-231664","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guide-foer-nyboerjare","category-handledningar","category-koda","category-plugins-3","category-wordpress-9","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/231664","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/comments?post=231664"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/231664\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media\/236911"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media?parent=231664"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/categories?post=231664"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/tags?post=231664"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}