如何创建一个只在主页上运行的插件?

时间:2011-01-06 作者:Scott B

我有一个插件,我只想在查看主页时执行。为了实现这一点,我应该如何删除我的插件?

这是行不通的。。。

 <?php
 /*
 Plugin Name: My Test Plugin
 */


 if ( is_home() OR is_sticky() )
 {
  add_filter( \'the_content\', \'my_function\' );
 }

 function my_function( $content )
 { 
  echo "hello world".$content;
 }

 ?>
这是我的原始代码,但它在每个页面上执行过滤器。这对我来说似乎太过分了,因为我只想让插件在主页上运行。

 add_filter( \'the_content\', \'wpse6034_the_content\' );
 function wpse6034_the_content( $content )
 {
  if ( is_home() ) {
   $content .= \'<p>Hello World!</p>\';
  }
  return $content;
 }

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

您需要稍后添加筛选器:

function _add_my_filter() {
 if ( is_home() OR is_sticky() )
 {
  add_filter( \'the_content\', \'my_function\' );
 }
}
add_action(\'template_redirect\', \'_add_my_filter\');

结束

相关推荐