我是WordPress开发的新手,正在考虑向小部件添加一些功能。我看到一些人在使用这个:
$title = apply_filters( \'widget_title\', empty( $instance[\'title\'] ) ? \'\' : $instance[\'title\'], $instance, $this->id_base );
有些人会这样:
$title = ( $instance[\'title\'] ) ? $instance[\'title\'] : \'\';
在我的情况下,我想添加一个按钮的链接,但我不确定是否应该对其使用应用过滤器。
$buttonLink = ( $intance[\'buttonlink\'] ) ? $intance[\'buttonlink\'] : \'\';
最合适的回答,由SO网友:Benoti 整理而成
这个$instance[\'title\']
对应于小部件中输入的标题。
当插件或小部件作为apply\\u过滤器时,开发人员可以轻松地覆盖标题的当前值集。
现在,假设您设置了一个标题(在小部件设置面板中),但您只想在用户登录时更改此值。您只需在函数中添加一个过滤器。php
add_filter(\'widget_title\', \'logged_title\');
function logged_title($title){
if(is_user_logged_in()){ // don\'t forget to test your widget id
$title = \'new widget title\';
}
return $title;
}