{"id":27008,"date":"2021-05-02T12:24:00","date_gmt":"2021-05-02T09:24:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=27008"},"modified":"2021-10-18T03:52:47","modified_gmt":"2021-10-18T00:52:47","slug":"jak-stworzyc-wtyczke-wordpress-twitter-feed","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pl\/jak-stworzyc-wtyczke-wordpress-twitter-feed\/","title":{"rendered":"Jak stworzy\u0107 wtyczk\u0119 WordPress Twitter Feed?"},"content":{"rendered":"<p>Nie trzeba dodawa\u0107, jak popularny jest Twitter? Wiele stron internetowych pokazuje u\u017cytkownikom swoje najnowsze tweety. Zwykle te tweety s\u0105 umieszczane na pasku bocznym lub w stopce. W dzisiejszym po\u015bcie stworzymy prost\u0105 wtyczk\u0119 WordPress, kt\u00f3ra wy\u015bwietla najnowsze tweety w dowolnym miejscu. Stworzymy kr\u00f3tki kod, kt\u00f3ry mo\u017cna umie\u015bci\u0107 w dowolnym miejscu na Twojej stronie.<\/p>\n<h3>Jak stworzy\u0107 wtyczk\u0119<\/h3>\n<p>Tworzenie wtyczki do WordPressa nie jest nauk\u0105 rakietow\u0105. Cz\u0142owiek, kt\u00f3ry zna PHP i WordPressa, bez problemu stworzy wtyczk\u0119. Dla naszego zadania tworz\u0119 folder o nazwie \u201etwitter-api&quot; w katalogu \u201ewp-content\/plugins&#8221;.<\/p>\n<p>Nast\u0119pnie tworz\u0119 'twitter-api.php&#8217; i umieszczam go w folderze 'plugins\/twitter-api&#8217;. Nasz plik wtyczki 'twitter-api.php&#8217; wymaga komentarza, wi\u0119c dodaj\u0119 go w poni\u017cszym formacie.<\/p>\n<pre><code>\/*\nPlugin Name: Twitter API\nPlugin URI: https:\/\/artisansweb.net\nDescription: This plugin will fetch your latest tweets and display it using shortcode [tweets]\nVersion: 1.0\nAuthor: Sajid\nAuthor URI: https:\/\/artisansweb.net\nLicense: GPLv2 or later\nText Domain: artisansweb\n*\/<\/code><\/pre>\n<p>Po dodaniu powy\u017cszego komentarza nasza wtyczka pojawi si\u0119 na stronie wtyczek, z kt\u00f3rej mo\u017cemy j\u0105 aktywowa\u0107. Ale poniewa\u017c nie napisali\u015bmy \u017cadnego kodu, po prostu zostaje aktywowany, ale nic nie robi. Dodamy du\u017co kodu w naszej wtyczce. Ale na razie tworzymy tylko podstawow\u0105 struktur\u0119 naszej wtyczki.<\/p>\n<pre><code>class Twitter_API {\n\u00a0\u00a0\u00a0\u00a0public function __construct() {\n\u00a0\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>Aby unikn\u0105\u0107 bezpo\u015bredniego dost\u0119pu do plik\u00f3w PHP naszej wtyczki, powinni\u015bmy doda\u0107 poni\u017cszy wiersz po komentarzu naszej wtyczki.<\/p>\n<pre><code>defined( 'ABSPATH') or die( 'No script kiddies please!' );<\/code><\/pre>\n<h3>Zainstaluj bibliotek\u0119 PHP na Twitterze<\/h3>\n<p>Twitter zapewnia programistom interfejsy API REST. W naszej wtyczce u\u017cywamy popularnej biblioteki dla Twittera, kt\u00f3ra jest zbudowana w PHP. Oto adres URL git-hub dla biblioteki \u2013<a href=\"https:\/\/github.com\/abraham\/twitteroauth\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external\"><\/a><a href=\"https:\/\/github.com\/abraham\/twitteroauth\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">https:\/\/github.com\/abraham\/twitteroauth<\/a><\/p>\n<p>Aby zainstalowa\u0107 t\u0119 bibliotek\u0119, otworz\u0119 wiersz polecenia w moim folderze \u201eplugins\/twitter-api&#8221; i uruchomi\u0119 poni\u017csze polecenie.<\/p>\n<pre><code>composer require abraham\/twitteroauth<\/code><\/pre>\n<p>Po zainstalowaniu biblioteki umieszcz\u0119 poni\u017cej wierszy w naszym pliku 'twitter-api.php&#8217;.<\/p>\n<pre><code>require('vendor\/autoload.php');\nuse AbrahamTwitterOAuthTwitterOAuth;<\/code><\/pre>\n<p>Teraz nadszed\u0142 czas, aby zarejestrowa\u0107 nasz\u0105 aplikacj\u0119 na Twitterze. Aby utworzy\u0107 aplikacj\u0119, przejd\u017a do <a href=\"https:\/\/apps.twitter.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Twitter Apps<\/a> i wykonaj poni\u017csze czynno\u015bci.<\/p>\n<ul>\n<li>Kliknij przycisk \u201eUtw\u00f3rz now\u0105 aplikacj\u0119&#8221;.<\/li>\n<li>Wype\u0142nij pola Nazwa, Opis, Witryna.<\/li>\n<li>Zaakceptuj umow\u0119 i kliknij przycisk \u201eUtw\u00f3rz swoj\u0105 aplikacj\u0119 na Twitterze&#8221;.<\/li>\n<li>Na nast\u0119pnej stronie kliknij zak\u0142adk\u0119 \u201eKlucze i tokeny dost\u0119pu&#8221;. W tej zak\u0142adce znajdziesz sw\u00f3j klucz klienta i tajny klucz klienta. Skopiuj te dane i przechowuj je w bezpiecznym miejscu.<\/li>\n<li>W tej samej zak\u0142adce zobaczysz sekcj\u0119 \u201eTw\u00f3j Token dost\u0119pu&#8221;. Kliknij przycisk \u201eUtw\u00f3rz token dost\u0119pu&#8221;.<\/li>\n<li>Na tym etapie skopiuj sw\u00f3j token dost\u0119pu i klucz tajny tokenu dost\u0119pu. Zachowaj te dane w bezpiecznym miejscu.<\/li>\n<\/ul>\n<p>Stworzyli\u015bmy nasz\u0105 aplikacj\u0119 Twitter i jeste\u015bmy gotowi z naszymi kluczami API. Aby wykorzysta\u0107 te dane w naszej wtyczce, musimy je najpierw zapisa\u0107. W tym celu tworzymy stron\u0119 opcji dla naszej wtyczki. Dlatego dodaj\u0119 poni\u017cszy kod do naszego pliku.<\/p>\n<pre><code>function __construct() {\n\u00a0\u00a0\u00a0\u00a0add_action( 'admin_menu', array($this, 'ta_plugin_menu') );\n}\n\u00a0\nfunction ta_plugin_menu() {\n\u00a0\u00a0\u00a0\u00a0add_options_page('Twitter API', 'Twitter API', 'manage_options', 'twitter_api', array($this, 'ta_settings_page'));\n}\n\u00a0\nfunction ta_settings_page() {\n\u00a0\u00a0\u00a0\u00a0require_once('inc\/ta-settings.php');\u00a0\u00a0\u00a0 \n}<\/code><\/pre>\n<p>Powy\u017cszy kod doda nasze menu o nazwie \u201eTwitter API&#8221; w Ustawieniach na pulpicie nawigacyjnym. Na tym etapie musimy stworzy\u0107 katalog 'inc&#8217; i umie\u015bci\u0107 w nim plik 'ta-setting.php&#8217;.<\/p>\n<p>W pliku 'ta-setting.php&#8217; udost\u0119pnimy opcj\u0119 przechowywania danych naszego Twittera API. Dodaj\u0119 poni\u017cszy kod w tym pliku. Pobieramy warto\u015b\u0107 (kt\u00f3r\u0105 przechowujemy w nast\u0119pnym kroku) dla ka\u017cdego pola z bazy danych.<\/p>\n<pre><code>&lt;h1&gt;&lt;?php _e('Twitter Information', 'artisansweb'); ?&gt;&lt;\/h1&gt;\n&lt;form method=\"post\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;table class=\"form-table\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;tbody&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;tr&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;th scope=\"row\"&gt;&lt;label for=\"blogname\"&gt;&lt;?php _e('Consumer Key', 'artisansweb'); ?&gt;&lt;\/label&gt;&lt;\/th&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;td&gt;&lt;input name=\"ta_consumer_key\" id=\"ta_consumer_key\" value=\"&lt;?php if(get_option('ta_consumer_key')) echo get_option('ta_consumer_key'); ?&gt;\" class=\"regular-text\" type=\"text\"&gt;&lt;\/td&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/tr&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;tr&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;th scope=\"row\"&gt;&lt;label for=\"blogname\"&gt;&lt;?php _e('Consumer Secret', 'artisansweb'); ?&gt;&lt;\/label&gt;&lt;\/th&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;td&gt;&lt;input name=\"ta_consumer_secret\" id=\"ta_consumer_secret\" value=\"&lt;?php if(get_option('ta_consumer_secret')) echo get_option('ta_consumer_secret'); ?&gt;\" class=\"regular-text\" type=\"text\"&gt;&lt;\/td&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/tr&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;tr&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;th scope=\"row\"&gt;&lt;label for=\"blogname\"&gt;&lt;?php _e('Access Token', 'artisansweb'); ?&gt;&lt;\/label&gt;&lt;\/th&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;td&gt;&lt;input name=\"ta_access_token\" id=\"ta_access_token\" value=\"&lt;?php if(get_option('ta_access_token')) echo get_option('ta_access_token'); ?&gt;\" class=\"regular-text\" type=\"text\"&gt;&lt;\/td&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/tr&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;tr&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;th scope=\"row\"&gt;&lt;label for=\"blogname\"&gt;&lt;?php _e('Access Token Secret', 'artisansweb'); ?&gt;&lt;\/label&gt;&lt;\/th&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;td&gt;&lt;input name=\"ta_access_token_secret\" id=\"ta_access_token_secret\" value=\"&lt;?php if(get_option('ta_access_token_secret')) echo get_option('ta_access_token_secret'); ?&gt;\" class=\"regular-text\" type=\"text\"&gt;&lt;\/td&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/tr&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;tr&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;th scope=\"row\"&gt;&lt;label for=\"blogname\"&gt;&lt;?php _e('Number of Tweets', 'artisansweb'); ?&gt;&lt;\/label&gt;&lt;\/th&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;td&gt;&lt;input name=\"ta_no_of_tweets\" id=\"ta_no_of_tweets\" value=\"&lt;?php if(get_option('ta_no_of_tweets')) echo get_option('ta_no_of_tweets'); ?&gt;\" class=\"regular-text\" type=\"number\"&gt;&lt;\/td&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/tr&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/tbody&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;\/table&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p class=\"submit\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input name=\"ta-submit\" id=\"submit\" class=\"button button-primary\" value=\"&lt;?php _e('Save Changes', 'artisansweb'); ?&gt;\" type=\"submit\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;\/p&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<p>Na tej stronie wpisujemy dane API, kt\u00f3re musimy zapisa\u0107 w bazie danych. U\u017cy\u0142em wi\u0119c akcji 'init&#8217; i doda\u0142em logik\u0119 submit w funkcji callback.<\/p>\n<pre><code>add_action('init', array($this, 'ta_submit_callback')); \/\/add this code in constructor\n\u00a0\nfunction submit_callback() {\n\u00a0\u00a0\u00a0\u00a0if (isset($_POST['ta-submit'])) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0update_option( 'ta_consumer_key', $_POST['ta_consumer_key'] );\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0update_option( 'ta_consumer_secret', $_POST['ta_consumer_secret'] );\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0update_option( 'ta_access_token', $_POST['ta_access_token'] );\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0update_option( 'ta_access_token_secret', $_POST['ta_access_token_secret'] );\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0update_option( 'ta_no_of_tweets', $_POST['ta_no_of_tweets'] );\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>Na tym etapie uko\u0144czyli\u015bmy ustawienia zaplecza wymagane dla naszej wtyczki. Teraz przechodzimy do frontendu, gdzie musimy wy\u015bwietla\u0107 najnowsze tweety. Tworzymy shortcode, aby\u015bmy mogli wy\u015bwietla\u0107 tweety w dowolnym miejscu, po prostu umieszczaj\u0105c nasz shortcode. W konstruktorze umieszcz\u0119 poni\u017cej linii kodu.<\/p>\n<pre><code>\/\/add this code in constructor\nadd_shortcode('tweets', array($this, 'ta_latest_tweets'));\n\u00a0\nif(get_option('ta_consumer_key')) {\n\u00a0\u00a0\u00a0\u00a0$this-&gt;consumer_key = get_option('ta_consumer_key');\n}\nif(get_option('ta_consumer_secret')) {\n\u00a0\u00a0\u00a0\u00a0$this-&gt;consumer_secret = get_option('ta_consumer_secret');\n}\nif(get_option('ta_access_token')) {\n\u00a0\u00a0\u00a0\u00a0$this-&gt;access_token = get_option('ta_access_token');\n}\nif(get_option('ta_access_token_secret')) {\n\u00a0\u00a0\u00a0\u00a0$this-&gt;access_token_secret = get_option('ta_access_token_secret');\n}\n$this-&gt;ta_no_of_tweets = get_option('ta_no_of_tweets')? get_option('ta_no_of_tweets'): 3;<\/code><\/pre>\n<p>Pobieramy r\u00f3wnie\u017c szczeg\u00f3\u0142y api w konstruktorze. Powinni\u015bmy zadeklarowa\u0107 zmienne klasowe jak poni\u017cej.<\/p>\n<pre><code>protected $consumer_key = '', $consumer_secret = '', $access_token = '', $access_token_secret = '', $ta_no_of_tweets;<\/code><\/pre>\n<p>Nast\u0119pnie powinni\u015bmy zdefiniowa\u0107 nasz\u0105 funkcj\u0119 zwrotn\u0105 shortcode.<\/p>\n<pre><code>function ta_latest_tweets() {\n\u00a0\u00a0\u00a0\u00a0$connection = new TwitterOAuth($this-&gt;consumer_key, $this-&gt;consumer_secret, $this-&gt;access_token, $this-&gt;access_token_secret);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$arr_tweets = $connection-&gt;get(\"statuses\/user_timeline\", [\"count\" =&gt; ($this-&gt;ta_no_of_tweets), \"exclude_replies\" =&gt; true]);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0if ($arr_tweets &amp;&amp; !empty($arr_tweets)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0?&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;ul class=\"tweet-wrap\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;?php\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0foreach ($arr_tweets as $tweet) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0?&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;li&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;img src=\"&lt;?php echo $tweet-&gt;user-&gt;profile_image_url; ?&gt;\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;strong&gt;&lt;?php echo $tweet-&gt;user-&gt;name ?&gt;&lt;\/strong&gt; @&lt;span&gt;&lt;?php echo $tweet-&gt;user-&gt;screen_name; ?&gt;&lt;\/span&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;?php echo $tweet-&gt;text; ?&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/li&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;?php\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0?&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/ul&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;?php\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>Dodajemy troch\u0119 GUI do naszego wpisu na Twitterze. Wi\u0119c dodaj\u0119 plik CSS w nast\u0119puj\u0105cy spos\u00f3b.<\/p>\n<pre><code>add_action('wp_enqueue_scripts', array($this, 'ta_include_css')); \/\/add it in constructor\n\u00a0\nfunction ta_include_css() {\n\u00a0\u00a0\u00a0\u00a0wp_register_style( \"ta-custom-style\", plugins_url('\/twitter-api'). \"\/css\/custom.css\", array(), false, \"all\" );\n\u00a0\u00a0\u00a0\u00a0wp_enqueue_style( \"ta-custom-style\" );\n}<\/code><\/pre>\n<p>W moim pliku CSS dodaj\u0119 poni\u017cej w\u0142a\u015bciwo\u015bci dla klasy \u201etweet-wrap&#8221;. Je\u015bli chcesz, mo\u017cesz doda\u0107 wi\u0119cej CSS zgodnie z potrzebami.<\/p>\n<pre><code>.tweet-wrap{\n\u00a0\u00a0\u00a0\u00a0width: 300px;\n\u00a0\u00a0\u00a0\u00a0list-style-type: none;\n}<\/code><\/pre>\n<p>To wszystko, ko\u0144czymy nasz\u0105 wtyczk\u0105 wy\u015bwietlaj\u0105c\u0105 najnowsze tweety. Mo\u017cesz pobra\u0107 plik zip wtyczki, klikaj\u0105c poni\u017cszy link \u201ePobierz kod wtyczki&#8221;.<\/p>\n<p><a href=\"https:\/\/artisansweb.net\/wp-content\/uploads\/twitter-api.zip\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Pobierz kod wtyczki<\/a><\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>W tym po\u015bcie pokazujemy, jak stworzy\u0107 wtyczk\u0119 do kana\u0142u WordPress na Twitterze. Tworzymy kr\u00f3tki kod, dzi\u0119ki czemu mo\u017cesz wy\u015bwietla\u0107 kana\u0142 Twittera w dowolnym miejscu na stronie.<\/p>\n","protected":false},"author":1,"featured_media":21672,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[416,612],"tags":[847],"class_list":["post-27008","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-roznorodny","category-uncategorized-8","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/27008","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/comments?post=27008"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/27008\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media\/21672"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media?parent=27008"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/categories?post=27008"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/tags?post=27008"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}