[WordPress] 外掛分享: External Content

首頁外掛目錄 › External Content
70+
安裝啟用
★★★★
4/5 分(1 則評價)
3726 天前
最後更新
問題解決
WordPress 2.9.0+ v1.4.0 上架:2015-05-07

內容簡介

您是否曾經想要將外部內容,例如外部網站的特定文章,整合到 WordPress 網站中並且像任何其他文章一樣處理?也就是說,讓它顯示為 teaser 或特定(虛擬)存檔的一部分?
這正是 External Content 插件發揮作用的時候。

用法

External Content 註冊了一個自定義文章類型,在預設情況下支援標題、內容、摘要和縮略圖。不過也可以進行自定義。在後台管理文章與管理其他文章類型並無區別。創建新文章、為其命名、編寫一些內容、定義個別摘要(可選),如果需要可以設置文章縮略圖。然後通過相應的元框為每篇文章分配個別的外部網址。這個外部網址將用作文章的永久鏈接。

篩選器

為了自定義插件的某些方面,插件提供了多個篩選器。下面為每個篩選器提供了一個簡短的說明以及如何修改默認行為的代碼示例。只需將相應的代碼片段放入您的主題的 functions.php 文件或自定義插件中的其他適當位置即可。

external_content_args

如果您想要修改特定的文章類型參數,但找不到合適的篩選器,則可以使用 external_content_args 篩選器,它為您提供完整的參數陣列。

/**
* 篩選文章類型參數。
*
* @param array $args 文章類型參數。
*/
add_filter( 'external_content_args', function( $args ) {

// 使用階層式外部內容
$args[ 'hierarchical' ] = TRUE;

return $args;
} );

external_content_description

文章類型描述可以通過使用 external_content_description 篩選器進行自定義。

/**
* 篩選文章類型描述。
*
* @param string $description 文章類型描述。
*/
add_filter( 'external_content_description', function() {

// 提供一個描述
return '用於處理像任何其他文章一樣的外部內容的簡單文章類型。';
} );

external_content_labels

如果您不喜歡標籤,可以輕鬆地將它們適合自己的方式進行調整。

/**
* 篩選文章類型標籤。
*
* @param array $labels 文章類型標籤。
*/
add_filter( 'external_content_labels', function( $labels ) {

// 增加一些恐怖元素...
$labels[ 'not_found' ] = '找不到外部內容!!1!!1!!oneone!!!1!eleven!1!';

return $labels;
} );

external_content_meta_key

如果您想要修改外部網址的元鍵,可以通過此篩選器進行自定義。

/**
* 篩選元鍵。
*
* @param string $meta_key 元鍵。
*/
add_filter( 'external_content_meta_key', function() {

// 讓我們把元鍵變成 Shrek
return 'far_far_away';
} );

external_content_post_type

是的,您還可以修改文章類型(slug)。

/**
* 篩選文章類型。
*
* @param string $post_type 文章類型。
*/
add_filter( 'external_content_post_type', function() {

return '異國情調的東西';
} );

external_content_supports

此篩選器為您提供文章類型的支援功能。

/**
* 篩選文章類型支援。
*
* @param array $supports 文章類型支援。
*/
add_filter( 'external_content_sup

外掛標籤

開發者團隊

⬇ 下載最新版 (v1.4.0) 或搜尋安裝

① 下載 ZIP → 後台「外掛 › 安裝外掛 › 上傳外掛」
② 後台搜尋「External Content」→ 直接安裝(推薦)
📦 歷史版本下載

原文外掛簡介

Have you ever wanted to integrate external content such as a specific post of an external website into your WordPress website? But treat it like any other post? That is, have it appear as teaser or part of a specific (pseudo) archive?
This is exactly when External Content kicks in.
Usage
External Content registers a custom post type that, by default, supports title, content, excerpt and thumbnail. This can be customized, though. Managing your posts in your backend is no different from any other post type. Create a new post, give it a title, write some text, define an individual excerpt, and set a post thumbnail, if you wish. Then assign each post an individual external URL by means of the according meta box. This external URL will be used as the post’s permalink.
Filters
In order to customize certain aspects of the plugin, it provides you with several filters. For each of these, a short description as well as a code example on how to alter the default behavior is given below. Just put the according code snippet in your theme’s functions.php file or your customization plugin, or to some other appropriate place.
external_content_args
If you want to alter a specific post type argument but you can’t find a fitting filter, there’s external_content_args, which provides you with the complete args array.
/**
* Filter the post type args.
*
* @param array $args Post type args.
*/
add_filter( 'external_content_args', function( $args ) {

// Use hierarchical external content
$args[ 'hierarchical' ] = TRUE;

return $args;
} );

external_content_description
The post type description can be customized by using the external_content_description filter.
/**
* Filter the post type description.
*
* @param string $description Post type description.
*/
add_filter( 'external_content_description', function() {

// Provide a description
return 'Simple post type for handling external content like any other post.';
} );

external_content_labels
In case you don’t like the labels, easily adapt them to your liking.
/**
* Filter the post type labels.
*
* @param array $labels Post type labels.
*/
add_filter( 'external_content_labels', function( $labels ) {

// A little more horror, please...
$labels[ 'not_found' ] = 'ZOMG, no external content found!!1!!1!!oneone!!!1!eleven!1!';

return $labels;
} );

external_content_meta_key
If you want to alter the meta key for the external URL, feel free to do it via this filter.
/**
* Filter the meta key.
*
* @param string $meta_key Meta key.
*/
add_filter( 'external_content_meta_key', function() {

// Let's Shrekify the meta key
return 'far_far_away';
} );

external_content_post_type
Yes, you can also alter the post type (slug).
/**
* Filter the post type.
*
* @param string $post_type Post type.
*/
add_filter( 'external_content_post_type', function() {

return 'exotic_stuff';
} );

external_content_supports
This filter provides you with the post type supports.
/**
* Filter the post type supports.
*
* @param array $supports Post type supports.
*/
add_filter( 'external_content_supports', function( $supports ) {

// If your theme uses the excerpt for teasers, just remove the editor to prevent confusion
foreach ( $supports as $key => $value ) {
if ( 'editor' === $value ) {
unset( $supports[ $key ] );
}
}

return $supports;
} );

external_content_use_external_url
The permalink of external content is, by default, replaced with the post’s according external URL (i.e., post meta). To disable this behavior, just do the following:
/**
* Filter the usage of the external URL as permalink.
*
* @param bool $use_external_url Use the external URL as permalink?
*/
add_filter( 'external_content_use_external_url', '__return_false' );

Contribution
To contribute to this plugin, please see its GitHub repository.
If you have a feature request, or if you have developed the feature already, please feel free to use the Issues and/or Pull Requests section.
Of course, you can also provide me with translations if you would like to use the plugin in another not yet included language.

延伸相關外掛

文章
Filter
Apply Filters
Mastodon