Ситуация
У меня есть класс, в котором я добавляю мета-поле на экран редактирования сообщения.
РЕДАКТИРОВАТЬ: сейчас это рабочая версия
/**
* Calls the class on the post edit screen
*/
function call_someClass()
{
return new someClass();
}
if ( is_admin() )
add_action( 'load-post.php', 'call_someClass' );
/**
* The Class
*/
class someClass
{
public function __construct()
{
add_action( 'add_meta_boxes', array( &$this, 'add_meta_box' ) );
}
/**
* Adds the meta box container
*/
public function add_meta_box( /* $args */ )
{
add_meta_box(
'post_format_box'
,__( 'Post Format Content', self::LANG )
,array( &$this, 'render' )
,'post'
,'advanced'
,'high'
);
}
/**
* Render Meta Box content
*/
public function render( /* $args */ )
{
return '<h1>TEST ME NOW</h1>';
}
}
Проблема
Мета-поле отображается, и выходные данные функций обратного вызова мета-поля отображаются внутри моего мета-поля… но внутри сообщения об ошибке. Кажется, я слишком устал, чтобы обойти это:
Сообщение об ошибке (точное отображение, как в метабоксе)
Предупреждение: call_user_func() ожидает, что параметр 1 будет допустимым обратным вызовом, функция ‘ TEST ME NOW ‘ не найдена или недопустимое имя функции в R:\development\xampp\htdocs\wordpress\wp-admin\includes\template.php в строке 963
Используя классы, как вы, ваша функция обратного вызова реализована неправильно:
Должно быть:
мой Бог. Благодарю. работая весь день в классе и… так что (…) +1 и решение.