2009-12-17 7 views
0

나는 절차 적으로 클래스 기반으로 작성한 플러그인을 변환하려고 시도하고 있으며 알 수없는 이유로 작동하지 않습니다. 그래서 나는 플러그인 코드를 가능한 한 최소화하도록 썼다. 실행되면 아무런 내용없이 돌아옵니다.WordPress Plugin 코딩 문제

<?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()을 설정 했으므로 반환 값이 필요합니다.

편집

난 그냥 코드를 테스트하고 TestingDemo_filter()return 문을 추가 할 때 확실히 작동합니다.

+0

Duh! 나는 돌아가는 것을 잊었다는 것을 blieve 할 수 없다. : (내가 뭘 잘못했는지 알아 내려고 노력하면서 시간을 보냈다.) 신선한 눈빛으로 보는 것이 좋다. 감사합니다. – Brad

+0

하하, 문제 없습니다. 모두 거기에 있었다.) – zombat