如何将Apply_Filters()与类函数一起使用?

时间:2019-05-14 作者:Alt C

我想允许我的用户重写函数。这是一个插件。我相信apply\\u filters()可以用于此。这可以被add\\u filter()覆盖。

我对如何使用它感到困惑。如果我有这样的课

class Example{
  public function hello(){
   $title = the_title_attribute();
   return $title;
  }
}
我应该做什么更改以允许修改$标题?在哪里放置应用过滤器?谢谢

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

这取决于你想打电话到哪里apply_filters().

定义$title:

$title = apply_filters( \'my_hook\', the_title_attribute( \'echo=0\' ) ); // set echo to false
return $title;
或在return 电话:

$title = the_title_attribute( \'echo=0\' ); // set echo to false
return apply_filters( \'my_hook\', $title );
然后可以像这样钩住过滤器:

add_filter( \'my_hook\', \'some_function\' );
PS:birgire指出,the_title_attribute() 将回显输出,除非echo 参数设置为false. 因此,请确保使用适当的parameters.

相关推荐

Apply_Filters(‘the_content’,$Content)与DO_ShortCode($Content)

假设我有一个主题选项或自定义的postmeta文本区域。现在我想执行多个短代码、一般文本、图像等。最佳实践是什么?为什么?选项1:$content = //my text area data; echo apply_filters(\'the_content\', $content); 选项2:$content = //my text area data; echo do_shortcode($content); 请告诉我哪一个是最佳实践,以及为什么。EDIT让我详细描