Title: (MB) YouTube Widget
Author: Mechabyte
Published: <strong>2012 年 12 月 20 日</strong>
Last modified: 2013 年 8 月 2 日

---

搜索插件

![](https://ps.w.org/mb-youtube-videos/assets/banner-772x250.png?rev=749928)

**该插件尚未通过WordPress的最新3个主要版本进行测试**。 当与较新版本的WordPress一起
使用时，可能不再受到维护或支持，并且可能会存在兼容性问题。

![](https://s.w.org/plugins/geopattern-icon/mb-youtube-videos_e05050.svg)

# (MB) YouTube Widget

 作者：[Mechabyte](https://profiles.wordpress.org/mechabyte/)

[下载](https://downloads.wordpress.org/plugin/mb-youtube-videos.1.05.zip)

 * [详情](https://cn.wordpress.org/plugins/mb-youtube-videos/#description)
 * [评价](https://cn.wordpress.org/plugins/mb-youtube-videos/#reviews)
 *  [安装](https://cn.wordpress.org/plugins/mb-youtube-videos/#installation)
 * [开发进展](https://cn.wordpress.org/plugins/mb-youtube-videos/#developers)

 [支持](https://wordpress.org/support/plugin/mb-youtube-videos/)

## 描述

The YouTube videos widget lets you quickly and easily display your most recent YouTube
videos in your blog’s sidebar.

### Features

 * The YouTube videos widget is fully-based on the WordPress [Plugin API](https://codex.wordpress.org/Plugin_API).
 * Uses hooks and filters to allow for maximum hackability by theme designers and
   developers.
 * Organized straightforwardly so that it’s easy to modify and style.

### Usage

The YouTube videos widget is ready to use as-is, although you can easily customize
it to your liking with a bit of code.

You can also insert a plain list of your recent videos into posts and pages with
the shortcode `mechabyte_youtube`. For example, to load **5** videos from **freddiew**
that **open in new tabs**, you’d use `[mechabyte_youtube username="freddiew" videos
="5" tab="true"]`.

### Custom Styles

The YouTube videos widget loads it styles by hooking into WordPress’ `wp_enqueue_scripts`
action. To remove the default styling you need to remove the our `enqueue_scripts`
function from the hook.

    ```
        remove_action( 'wp_enqueue_scripts', array( 'mechabyteYouTube', 'enqueue_scripts' ) );
    ```

### Custom Output

The end user has two options of displaying their YouTube videos: in plain or decorated
lists. When modifying the output of the plugin you must use one of two filters that
this plugin uses: `mbYT_construct_plain` and `mbYT_construct_decorated`. Before 
you add your own functions to either filter, you must remove the default ones that
are used automatically: `mbYT_construct_plain_default` and `mbYT_construct_decorated_default`.

    ```
        remove_filter( 'mbYT_construct_plain', array( 'mechabyteYouTube', 'mbYT_construct_plain_default'), 10, 3  );
        remove_filter( 'mbYT_construct_decorated', array( 'mechabyteYouTube', 'mbYT_construct_decorated_default'), 10, 3  );
    ```

Now it’s time to get creative. When creating a function that will loop through the
videos you have complete control over how you want to display the content. Just 
keep in mind that in the end, you should be outputting `<li>` elements. When filters
are being applied to the YouTube content, there are three arguments that are being
passed through: `$youtube_videos` (`array`, the array of videos), `$number` (`integer`,
the number of videos the user wishes to display), and `$tab` (`boolean`, a true/
false value of whether or not the user wants to open video links in a new tab).

Keep in mind that you have access to the following pieces of information when creating
your video loop:

    ```
        $item['title'] // Video title
        $item['videoID'] // Video ID
        $item['viewCount'] // Video view count
        $item['published'] // Video publish date -- UNIX
        $item['duration'] // Video duration in hh:mm:ss
        $item['numLikes'] // Video likes count
        $item['link'] // Video link
        $item['image']['default'] // 'Default' thumbnail (low quality)
        $item['image']['mqdefault'] // Medium quality thumbnail
        $item['image']['hqdefault'] // High quality thumbnail
    ```

Here’s an example of some code that adds a custom function to our `mb_construct_plain`
filter (assuming we’ve already removed the default functions). Keep in mind the `
3` at the end. That lets WordPress expect our three arguments that will be passed
through. Check out WordPress’ [add_filter()](https://codex.wordpress.org/Function_Reference/add_filter)
page for more info.

    ```
        add_filter( 'mb_construct_plain', 'construct_plain_example', 10, 3 );

        function construct_plain_example( $youtube_videos, $number, $tab ) {
            $output = '';
            foreach( $youtube_videos as $youtube_video ) {
                // If we've reached the user's display limit, end the loop
                if( $i == $number )
                  break;
                $output .= '<li>';
                $output .= '<a href="' . . '"';
                // If the user has selected to open videos in a new tab, specify the link target
                if($tab) {
                  $output .= ' target="_blank"';
                }
                $output .= '>';
                $output .= $youtube_video['title'];
                $output .= '</a>';
                $output .= '</li>';

                $i++;
              }
            return $output;
        }
    ```

Pretty basic, but it allows you to see a general example of how to loop through 
the objects and return the modified data.
 The above code will produce a list element
like this one:

    ```
        <li><a href="http://www.youtube.com/watch?v=3L-rrkyvApU" target="_blank">Real Life Portal Gun</a></li>
    ```

## 屏幕截图

[⌊Widget customization /assets/screenshot-1.png⌉⌊Widget customization /assets/screenshot-
1.png⌉[

Widget customization `/assets/screenshot-1.png`

[⌊Widget front-end display as a decorated list /assets/screenshot-2.png⌉⌊Widget 
front-end display as a decorated list /assets/screenshot-2.png⌉[

Widget front-end display as a decorated list `/assets/screenshot-2.png`

[⌊Widget front-end display as a plain list /assets/screenshot-3.png⌉⌊Widget front-
end display as a plain list /assets/screenshot-3.png⌉[

Widget front-end display as a plain list `/assets/screenshot-3.png`

## 安装

 1. Copy the `mb-youtube` directory into your `wp-content/plugins` directory
 2. Navigate to the “Plugins” dashboard page
 3. Locate the menu item that reads “(MB) YouTube Widget”
 4. Click on “Activate”

## 常见问题

  How can I make this plugin match my WordPress theme?

Easy! If you check out the ‘Description’ tab, there’s documentation on how to use
the plugin’s style hooks & filters to modify the output. If you have trouble, try
contacting your theme’s developer and ask them to include some styling rules in 
the theme’s `functions.php` file.

## 评价

此插件暂无评价。

## 贡献者及开发者

「(MB) YouTube Widget」是开源软件。 以下人员对此插件做出了贡献。

贡献者

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

[帮助将「(MB) YouTube Widget」翻译成简体中文。](https://translate.wordpress.org/projects/wp-plugins/mb-youtube-videos)

### 对开发感兴趣吗?

您可以[浏览代码](https://plugins.trac.wordpress.org/browser/mb-youtube-videos/)，
查看[SVN仓库](https://plugins.svn.wordpress.org/mb-youtube-videos/)，或通过[RSS](https://plugins.trac.wordpress.org/log/mb-youtube-videos/?limit=100&mode=stop_on_copy&format=rss)
订阅[开发日志](https://plugins.trac.wordpress.org/log/mb-youtube-videos/)。

## 更新日志

1.05 – Updated plugin with `mechabyte_youtube` shortcode to display videos in posts
and pages

1.01 – Updated the video data array to store the date as Unix time

1.0 – Initial release

## 额外信息

 *  版本 **1.05**
 *  最后更新：**13 年前**
 *  活跃安装数量 **60+**
 *  WordPress 版本 ** 3.0 或更高版本 **
 *  已测试的最高版本为 **3.6.1**
 *  语言
 * [English (US)](https://wordpress.org/plugins/mb-youtube-videos/)
 * 标签
 * [social](https://cn.wordpress.org/plugins/tags/social/)[subscribe](https://cn.wordpress.org/plugins/tags/subscribe/)
   [videos](https://cn.wordpress.org/plugins/tags/videos/)[youtube](https://cn.wordpress.org/plugins/tags/youtube/)
 *  [高级视图](https://cn.wordpress.org/plugins/mb-youtube-videos/advanced/)

## 评级

 3.7 星（最高 5 星）。

 *  [  2 条 5 星评价     ](https://wordpress.org/support/plugin/mb-youtube-videos/reviews/?filter=5)
 *  [  0 条 4 星评价     ](https://wordpress.org/support/plugin/mb-youtube-videos/reviews/?filter=4)
 *  [  0 条 3 星评价     ](https://wordpress.org/support/plugin/mb-youtube-videos/reviews/?filter=3)
 *  [  0 条 2 星评价     ](https://wordpress.org/support/plugin/mb-youtube-videos/reviews/?filter=2)
 *  [  1 条 1 星评价     ](https://wordpress.org/support/plugin/mb-youtube-videos/reviews/?filter=1)

[您的评价](https://wordpress.org/support/plugin/mb-youtube-videos/reviews/#new-post)

[查看全部评论](https://wordpress.org/support/plugin/mb-youtube-videos/reviews/)

## 贡献者

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

## 支持

有话要说吗？是否需要帮助？

 [查看支持论坛](https://wordpress.org/support/plugin/mb-youtube-videos/)