Title: Tweets Widget
Author: fossasia
Published: <strong>2016 年 8 月 27 日</strong>
Last modified: 2016 年 8 月 29 日

---

搜尋外掛

這個外掛**並未在最新的 3 個 WordPress 主要版本上進行測試**。開發者可能不再對這個
外掛進行維護或提供技術支援，並可能會與更新版本的 WordPress 產生使用上的相容性問題。

![](https://s.w.org/plugins/geopattern-icon/tweets-widget.svg)

# Tweets Widget

 由 [fossasia](https://profiles.wordpress.org/fossasia/) 開發

[下載](https://downloads.wordpress.org/plugin/tweets-widget.1.0.1.zip)

 * [詳細資料](https://tw.wordpress.org/plugins/tweets-widget/#description)
 * [使用者評論](https://tw.wordpress.org/plugins/tweets-widget/#reviews)
 *  [安裝方式](https://tw.wordpress.org/plugins/tweets-widget/#installation)
 * [開發資訊](https://tw.wordpress.org/plugins/tweets-widget/#developers)

 [技術支援](https://wordpress.org/support/plugin/tweets-widget/)

## 外掛說明

Use anonymous Loklak API OR Connect your Twitter account to this plugin and the 
widget will display your latest tweets on your site.

This plugin is compatible with the new **Twitter API 1.1** and provides full **OAuth**
authentication via the WordPress admin area.

### Shortcodes

You can embed tweets in the body of your posts using a WordPress the shortcode `[
tweets]`.

To specify a different user’s timeline add the `user` attribute.
 To override the
default number of 5 tweets add the `max` attribute, e.g:

    ```
    [tweets max=10 user=KhoslaSopan]<h3>Theming</h3>
    ```

For starters you can alter some of the HTML using built-in WordPress features.
 
See [Widget Filters](https://codex.wordpress.org/Plugin_API/Filter_Reference#Widgets)
and [Widgetizing Themes](https://codex.wordpress.org/Widgetizing_Themes)

**CSS**

This plugin contains no default CSS. That’s deliberate, so you can style it how 
you want.

Tweets are rendered as a list which has various hooks you can use. Here’s a rough
template:

    ```
    .tweets {
        /* style tweet list wrapper */
    }
    .tweets h3 {
        /* style whatever you did with the header */
    }
    .tweets ul { 
        /* style tweet list*/
    }
    .tweets li {
       /* style tweet item */
    }
    .tweets .tweet-text {
       /* style main tweet text */
    }
    .tweets .tweet-text a {
       /* style links, hashtags and mentions */
    }
    .tweets .tweet-text .emoji {
      /* style embedded emoji image in tweet */ 
    }
    .tweets .tweet-details {
      /* style datetime and link under tweet */
    }
    ```

**Custom HTML**

If you want to override the default markup of the tweets, the following filters 
are also available:

 * Add a header between the widget title and the tweets with `tweets_render_before`
 * Perform your own rendering of the timestamp with `tweets_render_date`
 * Render plain tweet text to your own HTML with `tweets_render_text`
 * Render each composite tweet with `tweets_render_tweet`
 * Override the unordered list for tweets with `tweets_render_list`
 * Add a footer before the end of the widget with `tweets_render_after`

Here’s an **example** of using some of the above in your theme’s functions.php file:

    ```
    add_filter('tweets_render_date', function( $created_at ){
        $date = DateTime::createFromFormat('D M d H:i:s O Y', $created_at );
        return $date->format('d M h:ia');
    }, 10 , 1 );

    add_filter('tweets_render_text', function( $text ){
        return $text; // <- will use default
    }, 10 , 1 );

    add_filter('tweets_render_tweet', function( $html, $date, $link, array $tweet ){
        $pic = $tweet['user']['profile_image_url_https'];
        return '<p class="my-tweet"><img src="'.$pic.'"/>'.$html.'</p><p class="my-date"><a href="'.$link.'">'.$date.'</a></p>';
    }, 10, 4 );

    add_filter('tweets_render_after', function(){
        return '<footer><a href="https://twitter.com/me">More from me</a></footer>';
    }, 10, 0 );<h3>Caching</h3>
    ```

Responses from the Twitter API are cached for 5 minutes by default. This means your
new Tweets will not appear on your site in real time.

This is deliberate not only for performance, but also to avoid Twitter’s strict 
rate limits of 15 requests every 15 minutes.

You can override the 300 second cache by using the `tweets_cache_seconds` filter
in your theme as follows:

This would extend the cache to 1 minute, which is the lowest value you should consider
using on a live site:

    ```
    add_filter('tweets_cache_seconds', function( $ttl ){
        return 60;
    }, 10, 1 );
    ```

This would disable the cache (not recommended other than for debugging):

    ```
    add_filter('tweets_cache_seconds', function( $ttl ){
        return 0;
    }, 10, 1 );<h3>Emoji</h3>
    ```

If you want to disable Emoji image replacement, you can filter the replacement callback
function to something empty, e.g:

    ```
    add_filter('tweets_emoji_callback', function( $func ){
        return '';
    } );
    ```

 * or to strip Emoji characters from all tweets, return your own replacement function
   that returns something else, e.g:
 * add_filter(‘tweets_emoji_callback’, function( $func ){
    return function( array
   $match ){ return ‘‘; }; } );
 * 
   ### Credits
   
 * Screenshot taken with permission from http://stayingalivefoundation.org/blog
 * Portuguese translations by [Leandro Dimitrio](https://wordpress.org/support/profile/leandrodimitrio)
 * German translations by [Florian Felsing](https://twitter.com/FlorianFelsing) 
   and [David Noh](https://wordpress.org/support/profile/david_noh)
 * Russian translations by [Andrey Yakovenko](https://twitter.com/YakovenkoAndrey)
 * Dutch translations by [Daniel Wichers](https://twitter.com/dwichers)
 * Spanish translations by [Pedro Pica](http://minimizo.com)

### Notes

Be aware of [Twitter’s display requirements](https://dev.twitter.com/terms/display-requirements)
when rendering tweets on your website.

Example code here uses PHP [closures](http://www.php.net/manual/en/class.closure.php)
which require PHP>=5.3.0 and won’t work on older systems.

## 螢幕擷圖

[⌊Tweets rendered via Loklak API⌉⌊Tweets rendered via Loklak API⌉[

Tweets rendered via Loklak API

[⌊Admin screen shows Loklak and Twitter API connect button and OAuth settings⌉⌊Admin
screen shows Loklak and Twitter API connect button and OAuth settings⌉[

Admin screen shows Loklak and Twitter API connect button and OAuth settings

[⌊Widget screen shows feed options⌉⌊Widget screen shows feed options⌉[

Widget screen shows feed options

## 安裝方式

 1. Unzip all files to the `/wp-content/plugins/` directory
 2. Log into WordPress admin and activate the ‘Tweets’ plugin through the ‘Plugins’
    menu

Once the plugin is installed and enabled you can use Loklak API or bind your plugin
to a Twitter account as follows:

**Use Loklak API**

 1. Tick the ‘Loklak API’ checkbox in API authentication settings.
 2. Click on ‘Save settings’

OR

**Use Twitter 1.1 API**

 1. Register a Twitter application at https://dev.twitter.com/apps
 2. Note the Consumer key and Consumer secret under OAuth settings
 3. Log into WordPress admin and go to Settings > Twitter API
 4. Enter the consumer key and secret and click ‘Save settings’
 5. Click the ‘Connect to Twitter’ button and follow the prompts.

Once your site is authenticated you can configure the widget as follows:

 1. Log into WordPress admin and go to Appearance > Widgets
 2. Drag ‘Tweets’ from ‘Available widgets’ to where you want it. e.g. Main Sidebar
 3. Optionally configure the widget title and number of tweets to display.

## 常見問題集

  How can I style the widget?

See the ‘Other Notes’ tab for theming information.

  Do I have to register my own Twitter app?

Yes, if you want to use Twitter’s new API 1.1 . If you decide to use loklak.org’s
anonymous API then no need. More info in the ‘Description’ tab.

  How I do know what my Twitter OAuth settings are?

These details are available in the [Twitter dashboard](https://dev.twitter.com/apps)

  What do I put in the third and fourth fields?

Once you’ve populated the first two fields, just click the _Connect_ button and 
follow the prompts.

  What is the “Minimum popularity” field?

Here you can specify a number of retweets and favourites that a tweet must have 
before it’s displayed.
 This is useful for only showing your most interesting content.

  How can I prevent SSL certificate errors?

If you’re unable too fix your [PHP cURL](https://php.net/manual/en/book.curl.php)
installation, you can disable SSL verification of twitter.com by adding this to 
your theme functions.php:
 add_filter(‘https_ssl_verify’, ‘__return_false’); But,
please do so at your own risk.

## 使用者評論

![](https://secure.gravatar.com/avatar/543bfc51f42e886bca82b56409a01b4139a89b8fdea3658a948f5f6a99e47747?
s=60&d=retro&r=g)

### 󠀁[Great initiative!](https://wordpress.org/support/topic/great-initiative/)󠁿

 [shiningwasp](https://profiles.wordpress.org/shiningwasp/) 2016 年 9 月 3 日

Its good to use a plugin which works without twitter OAuth! It simplifies the whole
installation process.

 [ 閱讀全部 1 則使用者評論 ](https://wordpress.org/support/plugin/tweets-widget/reviews/)

## 參與者及開發者

以下人員參與了開源軟體〈Tweets Widget〉的開發相關工作。

參與者

 *   [ fossasia ](https://profiles.wordpress.org/fossasia/)

[將〈Tweets Widget〉外掛本地化為台灣繁體中文版](https://translate.wordpress.org/projects/wp-plugins/tweets-widget)

### 對開發相關資訊感興趣？

任何人均可[瀏覽程式碼](https://plugins.trac.wordpress.org/browser/tweets-widget/)、
查看 [SVN 存放庫](https://plugins.svn.wordpress.org/tweets-widget/)，或透過 [RSS](https://plugins.trac.wordpress.org/log/tweets-widget/?limit=100&mode=stop_on_copy&format=rss)
訂閱[開發記錄](https://plugins.trac.wordpress.org/log/tweets-widget/)。

## 變更記錄

#### 1.0.1

 * Fixes FAQs
 * Fixes minor URL bugs

#### 1.0

 * A whole new version!

## 中繼資料

 *  版本 **1.0**
 *  最後更新 **10 年前**
 *  啟用安裝數 **10+**
 *  WordPress 版本需求 ** 3.5.1 或更新版本 **
 *  已測試相容的 WordPress 版本 **4.5.33**
 *  語言
 * [English (US)](https://wordpress.org/plugins/tweets-widget/)
 * 標籤:
 * [loklak](https://tw.wordpress.org/plugins/tags/loklak/)[loklak api](https://tw.wordpress.org/plugins/tags/loklak-api/)
   [oauth](https://tw.wordpress.org/plugins/tags/oauth/)[tweets](https://tw.wordpress.org/plugins/tags/tweets/)
   [twitter](https://tw.wordpress.org/plugins/tags/twitter/)
 *  [進階檢視](https://tw.wordpress.org/plugins/tweets-widget/advanced/)

## 評分

 5 星，滿分為 5 星

 *  [  1 個 5 星使用者評論     ](https://wordpress.org/support/plugin/tweets-widget/reviews/?filter=5)
 *  [  0 個 4 星使用者評論     ](https://wordpress.org/support/plugin/tweets-widget/reviews/?filter=4)
 *  [  0 個 3 星使用者評論     ](https://wordpress.org/support/plugin/tweets-widget/reviews/?filter=3)
 *  [  0 個 2 星使用者評論     ](https://wordpress.org/support/plugin/tweets-widget/reviews/?filter=2)
 *  [  0 個 1 星使用者評論     ](https://wordpress.org/support/plugin/tweets-widget/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/tweets-widget/reviews/#new-post)

[查看全部使用者評論](https://wordpress.org/support/plugin/tweets-widget/reviews/)

## 參與者

 *   [ fossasia ](https://profiles.wordpress.org/fossasia/)

## 技術支援

使用者可在技術支援論壇提出意見反應或使用問題。

 [檢視技術支援論壇](https://wordpress.org/support/plugin/tweets-widget/)