[WordPress] 外掛分享: Buoy Video Sync – Import YouTube Videos, Playlists & Channels as Posts

首頁外掛目錄 › Buoy Video Sync – Import YouTube Videos, Playlists & Channels as Posts
WordPress 外掛 Buoy Video Sync – Import YouTube Videos, Playlists & Channels as Posts 的封面圖片
全新外掛
安裝啟用
尚無評分
剛更新
最後更新
問題解決
WordPress 6.0+ PHP 8.0+ v3.1.2 上架:2026-07-28

內容簡介

Buoy Video Sync 外掛可將您的 YouTube 頻道內容導入 WordPress,將 YouTube 影片、播放清單及頻道資料轉換為 WordPress 文章,讓您輕鬆在網站上展示影片內容。

【主要功能】
• 從 YouTube 頻道同步內容
• 支援導入新影片及播放清單
• 可選擇將同步項目儲存為任何文章類型
• 即時導入,隨時決定何時匯入內容
• 提供同步歷史及錯誤日誌
• 支援 [buoy-video-sync] 短碼及 Gutenberg 區塊展示內容

外掛標籤

開發者團隊

⬇ 下載最新版 (v3.1.2) 或搜尋安裝

① 下載 ZIP → 後台「外掛 › 安裝外掛 › 上傳外掛」
② 後台搜尋「Buoy Video Sync – Import YouTube Videos, Playlists & Channels as Posts」→ 直接安裝(推薦)
📦 歷史版本下載

原文外掛簡介

Buoy Video Sync brings your YouTube channel to WordPress — import YouTube videos, playlists, and channel data as WordPress posts. Point it at a channel, choose what to sync and which post type to save it as, and Buoy Video Sync creates posts complete with titles, descriptions, thumbnails, view counts, and other YouTube metadata. Whether you want to embed a YouTube channel on your site, build a video gallery from synced posts, or mirror your uploads as blog content, the sync runs on your terms.
Every sync runs once, immediately after you save the rule — so you stay in control of when content is imported.
Features

Sync from a YouTube channel
Three sync actions: import new videos, import new playlists, or import the channel itself
Save synced items as any post type you choose (Posts, or a custom post type)
On-demand imports — each rule runs immediately when you save it, so you decide exactly when content is imported
Quota estimation — see how many YouTube Data API units a sync will use before you run it
Thumbnails shown as the featured image when none is set; channel profile pictures and banners are downloaded into your media library
Sync history with the last-synced time and a per-rule error log
Stores all YouTube data in standard post meta (_buoyvs_*) for easy use in your theme or queries
[buoy-video-sync] shortcode and three Gutenberg blocks (Field, Image, Embed) to display synced titles, descriptions, stats, thumbnails, and the YouTube player anywhere on your site — no code required
Delete channel — clear the configured channel and its sync history in one click when you want to start over or point at a different channel
Optional “remove all data on uninstall” setting — your content stays unless you ask for it to be removed

Requires a Google API key with the YouTube Data API v3 enabled. Requests are made directly from your server to Google using your own key; no data passes through any third-party service.
Go further with Pro
Buoy Video Sync Pro adds power-user automation:

Sync from unlimited YouTube channels
Recurring schedules — hourly, daily, weekly, monthly, or a custom interval
Update existing posts — refresh all metadata, or only the fields you choose
Taxonomy assignment — file synced items into categories, tags, and custom taxonomy terms
Field mapping — map YouTube fields (including each thumbnail size) to your own custom meta keys
Filter conditions — sync only the items that match your rules
Video protection — stop syncs from overwriting your manual edits

Learn more about Buoy Video Sync Pro
External services
Buoy Video Sync connects to the YouTube Data API v3, a service provided by Google, to fetch the public metadata it imports into WordPress.
What it is used for: retrieving public information about the YouTube channels, playlists, and videos you choose to sync — such as titles, descriptions, thumbnail URLs, view counts, publish dates, and channel/playlist/video IDs.
What data is sent and when: requests are made only when you save a channel, run a sync, or use the pre-sync quota estimate. Each request is sent directly from your own server to Google’s API endpoint (https://www.googleapis.com/youtube/v3/) and includes the Google API key you provide and the channel, playlist, or video identifier being synced. No personal data about your site’s visitors or users is sent, and no data passes through any service operated by the plugin author or a third party.
Images: channel profile pictures and banners are downloaded from the URLs the YouTube Data API returns and stored locally in your media library. Video and playlist thumbnail URLs returned by the API point to YouTube’s own image host (i.ytimg.com) and are stored and referenced as-is, in the same way YouTube serves them — the plugin does not host, offload, or proxy any images from its author’s servers.
Video player: the optional Embed block and the [buoy-video-sync type="embed"] shortcode display YouTube’s own embedded player in an iframe pointed at https://www.youtube.com/embed/, the same way pasting a YouTube link into the block editor does via WordPress’s built-in oEmbed support. No plugin code or data is involved in loading the player — the visitor’s browser requests it directly from YouTube.
This service is provided by Google. By using it you agree to Google’s terms and privacy policy:

YouTube API Services Terms of Service: https://developers.google.com/youtube/terms/api-services-terms-of-service
Google Privacy Policy: https://policies.google.com/privacy

Using synced data on your site
Every synced video, playlist, and channel is a regular WordPress post, so you can already query and template it however you like. For everyone else, the [buoy-video-sync] shortcode and three Gutenberg blocks put the same data on the page without writing any code.
Shortcode
[buoy-video-sync id="123" field="title"]
[buoy-video-sync id="123" field="view_count"]
[buoy-video-sync id="123" field="thumbnail" size="maxres"]
[buoy-video-sync id="123" type="embed"]

id is the post ID of the synced video, playlist, or channel post. Available `field` values depend on the post: `title`, `description`, and, for videos, `video_url`, `published_date`, `duration`, `view_count`, `like_count`, `comment_count`; for playlists, `playlist_video_count`; for channels, `subscriber_count`, `video_count`. Image fields are `thumbnail` (video), `playlist_thumbnail`, `profile_photo`, and `banner_image` (channel).

Gutenberg blocks
Add a Video Sync Field, Video Sync Image, or Video Sync Embed block from the block inserter (search “Video Sync”). Each block reads from the post it’s placed on by default — drop an Embed block into a synced video post’s content and it plays that video — or pick a different post from the block’s settings panel.
For Developers
Buoy Video Sync fires action hooks after each item’s metadata is saved, so you can run your own code whenever a video, playlist, or channel is synced. Each hook fires on both the initial import and every re-sync, after all metadata has been written. The synced data is passed to the hook, so you can identify or filter items without making another API call.
buoyvs_video_synced
Fires after a video’s metadata is saved.
do_action( 'buoyvs_video_synced', int $post_id, array $video_data, string $source_type, int $source_id );

$post_id — the video post ID.
$video_data — video data from the YouTube Data API (title, description, view_count, like_count, comment_count, video_id, and more).
$source_type — how it was synced: channel, playlist, or video.
$source_id — the source term ID the video was synced from.

buoyvs_playlist_synced
Fires after a playlist’s metadata is saved.
do_action( 'buoyvs_playlist_synced', int $post_id, array $playlist_data, string $channel_id );

$post_id — the playlist post ID.
$playlist_data — playlist data from the YouTube Data API.
$channel_id — the source channel ID the playlist belongs to.

buoyvs_channel_synced
Fires after a channel’s metadata is saved.
do_action( 'buoyvs_channel_synced', int $post_id, array $channel_data, string $channel_id );

$post_id — the channel post ID.
$channel_data — channel data from the YouTube Data API.
$channel_id — the YouTube channel ID.

Example
add_action( 'buoyvs_video_synced', function ( $post_id, $video_data ) {
// Runs each time a video is synced.
error_log( sprintf( 'Synced video %d (%s)', $post_id, $video_data['video_id'] ?? '' ) );
}, 10, 2 );

buoyvs_metabox_tabs
Add your own tab to the video, playlist, or channel metabox on the post edit screen. Return an array of tabs, each with a slug, a label, and a render callback that echoes the panel’s content.
apply_filters( 'buoyvs_metabox_tabs', array $tabs, string $type, int $post_id );

$tabs — list of tabs to add. Each: [ 'slug' => string, 'label' => string, 'render' => callable( int $post_id ) ].
$type — which metabox is rendering: video, playlist, or channel.
$post_id — the current post ID.

Example — add a tab only to the video metabox:
add_filter( 'buoyvs_metabox_tabs', function ( $tabs, $type, $post_id ) {
if ( 'video' !== $type ) {
return $tabs;
}
$tabs[] = array(
'slug' => 'my_tab',
'label' => 'My Tab',
'render' => function ( $post_id ) {
echo '

Custom content for post ' . (int) $post_id . '

';
},
);
return $tabs;
}, 10, 3 );

延伸相關外掛

文章
Filter
Apply Filters
Mastodon