2009-12-17 149 views
0

我试图转换一个插件,我程序化地写了基于类,它不工作的原因不明。所以我写下了我的插件代码,以尽可能减少最小化。当它运行时,它会返回没有内容。WordPress插件编码问题

<?PHP 
/** 
* Plugin Name: A1 Test 
* Version:  1.0.0 
* Plugin URI:  
* Description: Test 
* Author:   
* Author URI:  
*/ 
if (! class_exists("TestingDemo")) 
{ 
    class TestingDemo 
    { 
     function TestingDemo_filter($buffer) 
     { 
      $buffer = preg_replace_callback('@\[testing\s*=\s*"(.*?)\s*"\]@si', 
       array(&$this, "TestingDemo_replace"), $buffer); 
     } 
     function TestingDemo_replace($matches) 
     { 
      $message = $matches[1]; 
      return "Testing Worked..... {$message}"; 
     } 
    } 
} 
if (class_exists("TestingDemo")) 
{ 
    $TestingDemos = new TestingDemo(); 
} 
if (isset($TestingDemos)) 
{ 
    add_filter('the_content', array(&$TestingDemos, 'TestingDemo_filter')); 
} 

回答

1

我相信你需要一个返回值为你的TestingDemo_filter()函数。一个Wordpress过滤器函数需要将一个字符串作为输入,并返回修改过的字符串。由于您已将TestingDemo_filter()设置为实际的过滤功能,因此需要返回值。

编辑

我只是测试你的代码,当你添加一个return声明TestingDemo_filter()它肯定工程。

+0

呃!我不能忘了我忘了回去.. :(我花了几个小时试图弄清楚我做错了什么..很高兴有一双新鲜的眼睛看着它 谢谢.. – Brad 2009-12-17 05:22:25

+0

哈哈,没问题。一切都在那里;) – zombat 2009-12-17 06:20:55