WordPress插件编码问题

时间:2009-12-17 04:24:05

标签: php 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 个答案:

答案 0 :(得分:1)

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

修改

我刚刚测试了您的代码,当您向return添加TestingDemo_filter()语句时,它肯定有效。