我正在尝试将我在程序上编写的插件转换为基于类的插件,并且它不能用于某些未知原因。所以我写下了我的插件代码,尽量减少最小化。当它运行时,它返回没有内容。
<?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') );
}
答案 0 :(得分:1)
我相信您需要TestingDemo_filter()
函数的返回值。 Wordpress过滤器函数需要将字符串作为输入,并返回修改后的字符串。由于您已将TestingDemo_filter()
设置为实际过滤器功能,因此需要返回值。
修改强>
我刚刚测试了您的代码,当您向return
添加TestingDemo_filter()
语句时,它肯定有效。