[WordPress] 外掛分享: Text Modules

首頁外掛目錄 › Text Modules
50+
安裝啟用
★★★★★
5/5 分(1 則評價)
3864 天前
最後更新
問題解決
WordPress 3.0.0+ v1.0.1 上架:2015-07-23

內容簡介

使用新的「Text Modules」自訂文章類型,透過簡碼或小工具(widget)顯示文字模組。

有沒有試過想要多次使用某些文字資訊?例如聯絡資訊,如郵寄地址?或一些口號、座右銘或標語?

這正是「Text Modules」發揮作用的時機。

用法

這個外掛程式為文字模組登記了一個簡單的自訂文章類型。透過簡碼(shortcode,這裡是指使用文字模組的 ID 或輸入名稱)或透過一個新的「Text Modules」小工具來存取文字模組。

篩選器

為了自訂外掛程式的某些方面,它提供了幾個篩選器。針對每個篩選器,以下提供了簡短的說明和代碼範例,以調整預設行為的方式。只需將相應的程式碼片段放入您的佈景主題的functions.php文件,您的自定義外掛程式,或其他合適的地方即可。

text_modules_after_widget_content

此篩選器允許您在小工具內容之後更改 HTML。

/**
* 篩選器小工具內容後的 HTML。
*
* @param string $after_widget_content 小工具內容後的某些 HTML。
*/
add_filter( 'text_modules_after_widget_content', function() {

return '<!-- Text Modules 小工具內容結束 -->';
} );

text_modules_before_widget_content

此篩選器允許您在小工具內容之前更改 HTML。

/**
* 篩選器小工具內容之前的 HTML。
*
* @param string $before_widget_content 小工具內容之前的某些 HTML。
*/
add_filter( 'text_modules_before_widget_content', function() {

return '<!-- Text Modules 小工具內容開始 -->';
} );

text_modules_post_type

是的,您可以修改自訂的文章類型(輸入名稱)。

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

return 'exotic_stuff';
} );

text_modules_post_type_args

如果您想要修改特定的文章類型參數,但無法找到合適的篩選器,那麼可以使用 text_modules_post_type_args,它提供了完整的 args 陣列。

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

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

return $args;
} );

text_modules_post_type_description

文章類型描述可以透過使用 text_modules_post_type_description 篩選器自訂。

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

// 提供一個說明
return '用於文字模組的簡單自訂文章類型。';
} );

text_modules_post_type_labels

如果您不喜歡標籤,可以輕鬆地將它們調整到您喜歡的樣子。

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

// 請再多點可怕的東西...
$labels[ 'not_found' ] = 'ZOMG,找不到文字模組了!!1!!1!!oneone!!1!eleven!1!';

return $labels;
} );

text

外掛標籤

開發者團隊

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

① 下載 ZIP → 後台「外掛 › 安裝外掛 › 上傳外掛」
② 後台搜尋「Text Modules」→ 直接安裝(推薦)

原文外掛簡介

Use the new Text Modules custom post type and display a text module by either shortcode or widget.
Have you ever wanted to use some pieces of text information more than once? For instance, contact information such as a postal address? Or some slogan, motto or claim?
This is exactly when Text Modules kicks in.
Usage
This plugin registers a simple post type for text modules. A text module can be accessed either via shortcode (by means of the text module’s ID or slug) or via a new Tex Modules widget.
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.
text_modules_after_widget_content
This filter lets you alter the HTML after the widget content.
/**
* Filter the HTML after the widget content.
*
* @param string $after_widget_content Some HTML after the widget content.
*/
add_filter( 'text_modules_after_widget_content', function() {

return '';
} );

text_modules_before_widget_content
This filter lets you alter the HTML before the widget content.
/**
* Filter the HTML before the widget content.
*
* @param string $before_widget_content Some HTML before the widget content.
*/
add_filter( 'text_modules_before_widget_content', function() {

return '';
} );

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

return 'exotic_stuff';
} );

text_modules_post_type_args
If you want to alter a specific post type argument but you can’t find a fitting filter, there’s text_modules_post_type_args, which provides you with the complete args array.
/**
* Filter the post type args.
*
* @param array $args Post type args.
*/
add_filter( 'text_modules_post_type_args', function( $args ) {

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

return $args;
} );

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

// Provide a description
return 'Simple post type for text modules.';
} );

text_modules_post_type_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( 'text_modules_post_type_labels', function( $labels ) {

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

return $labels;
} );

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

// Let's add revisions for our post type
if ( ! in_array( 'revisions', $supports ) ) {
$supports[] = 'revisions';
}

return $supports;
} );

text_modules_shortcode_apply_do_shortcode
By default, do_shortcode() will be called on the shortcode output. Of course, you can change that.
/**
* Filter if the shortcode should apply do_shortcode() to the output.
*
* @param bool $do_shortcode Should the shortcode apply do_shortcode()?
*/
add_filter( 'text_modules_shortcode_apply_do_shortcode', '__return_false' );

text_modules_shortcode_callback
In case you would like to adapt how the shortcode data is handled, you can provide your own shortcode callback. This can either be a string holding the function name, or an array with either a class name or an object, and the according method.
/**
* Filter the shortcode callback.
*
* @param array|string $callback Shortcode callback.
*/
add_filter( 'text_modules_shortcode_callback', function() {

return 'my_text_modules_shortcode_callback';
} );

text_modules_shortcode_id_attribute_name
This filter lets you alter the shortcode’s ‘id’ attribute name.
/**
* Filter the 'id' shortcode attribute name.
*
* @param string $name Attribute name.
*/
add_filter( 'text_modules_shortcode_id_attribute_name', function() {

return 'post_id';
} );

text_modules_shortcode_output
This filter lets you alter the shortcode output. The second parameter holds the shortcode attributes array.
/**
* Filter the shortcode output.
*
* @param string $output Shortcode output.
* @param array $atts Shortcode attributes array.
*/
add_filter( 'text_modules_shortcode_output', function( $output ) {

return $output . ' Over and out.';
} );

text_modules_shortcode_query_args
Also, there’s text_modules_shortcode_query_args, which provides you with the complete args array for the shortcode’s query.
/**
* Filter the shortcode query args.
*
* @param array $args Shortcode query args.
*/
add_filter( 'text_modules_shortcode_query_args', function( $args ) {

// Exclude some text modules by ID
$args[ 'post__not_in' ] = array( 4, 8, 15, 16, 23, 42 );

return $args;
} );

text_modules_shortcode_slug_attribute_name
This filter lets you alter the shortcode’s ‘slug’ attribute name.
/**
* Filter the 'slug' shortcode attribute name.
*
* @param string $name Attribute name.
*/
add_filter( 'text_modules_shortcode_slug_attribute_name', function() {

return 'post_slug';
} );

text_modules_shortcode_tag
This filter lets you alter the shortcode’s tag.
/**
* Filter the shortcode tag.
*
* @param string $shortcode_tag Shortcode tag.
*/
add_filter( 'text_modules_shortcode_tag', function() {

return 'text_block';
} );

text_modules_shortcode_use_slug
By default, text modules are being queried by their post ID first. Of course, you can change that and use the post slug instead.
/**
* Filter if the shortcode (query) should use the post slug instead of the post ID.
*
* @param bool $use_slug Use slug instead of ID?
*/
add_filter( 'text_modules_shortcode_use_slug', '__return_true' );

text_modules_widget_form_query_args
Also, there’s text_modules_widget_form_query_args, which provides you with the complete args array for the widget form’s query.
/**
* Filter the widget form query args.
*
* @param array $args Query args.
*/
add_filter( 'text_modules_widget_form_query_args', function( $args ) {

// Exclude some text modules by ID
$args[ 'post__not_in' ] = array( 4, 8, 15, 16, 23, 42 );

return $args;
} );

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
Mastodon