在Widgets
第节,本节btn_text
设置为[并且将始终为]Download Latest Update
. 我有一个函数,它收集一些版本信息,我想在默认值之后附加这些信息btn_text
, ie。Download Latest Update **v1.0.11(2019)**
小部件有一个名为button_text
您可以利用它自定义按钮文本,而无需更改小部件class
:
$btn_text = apply_filters( \'button_text\', $instance[ \'button_text\' ] );
选项1:检查按钮文本是否准确Download Latest Update
如果是,则调用收集版本信息的函数—确保更改
version_func
到正确的函数名称:
add_filter( \'button_text\', function( $text ){
if ( \'Download Latest Update\' === $text ) {
$text .= \' **\' . version_func() . \'**\';
}
return $text;
} );
<我建议你使用
unique 按钮文本,以避免更改(或弄乱)其他按钮。。或者其他什么,因为过滤器名称是
quite generic 并且可能被其他小部件应用
class
es或其他代码
选项2:在按钮文本内启用短代码:
add_filter( \'button_text\', \'do_shortcode\' );
创建一个短码,返回版本信息:
add_shortcode( \'my-version-func\', function(){
return version_func(); // I\'m assuming that the function does NOT echo anything! :)
} );
在按钮文本输入(小部件管理页面上)中,添加
[my-version-func]
无论你喜欢哪里;e、 g。
Download Latest Update **[my-version-func]**
.
选项3:修改小部件class
/代码我不建议使用此选项,但无论如何,这里有一个示例:
替换此:
$btn_text = apply_filters( \'button_text\', $instance[ \'button_text\' ] );
使用此选项:
$btn_text = trim( $instance[\'button_text\'] );
if ( \'Download Latest Update\' === $btn_text ) {
$btn_text .= \' **\' . version_func() . \'**\';
}
$btn_text = apply_filters( \'button_text\', $btn_text );