meta box & callback function

时间:2011-04-14 作者:kaiser

我得到了一个类,在这个类中,我在后期编辑屏幕中添加了一个元框。

EDIT: 这是现在的工作版本

/**
 * 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>\';
    }
}
问题

显示元框,元框回调函数输出get在我的元框中呈现。。。但在错误消息中。似乎我太累了,无法摆脱这个问题:

Error Message (精确显示如元框中所示)

警告:call\\u user\\u func()要求参数1为有效回调,在R:\\development\\xampp\\htdocs\\wordpress\\wp admin\\includes\\template中找不到函数“TEST ME NOW”,或函数名无效。php第963行

1 个回复
最合适的回答,由SO网友:Horttcore 整理而成

使用像您这样的类,回调函数实现错误:

add_meta_box( 
             \'post_format_box\'
            ,__( \'Post Format Content\', self::LANG )
            ,@$this->render()
            ,\'post\' 
            ,\'advanced\'
            ,\'high\'
        );
应为:

add_meta_box( 
             \'post_format_box\'
            ,__( \'Post Format Content\', self::LANG )
            ,array($this, \'render\')
            ,\'post\' 
            ,\'advanced\'
            ,\'high\'
        );

结束

相关推荐

无法在自定义构建的Metabox中保存自定义分类术语

我大致遵循了tutorial here 关于如何创建“自定义分类输入面板”。我正在使用自定义帖子类型homes 还有一种自定义分类法beds (用于记录一所房子的床位数)。我已经在下拉菜单中显示了分类术语,但无法在保存帖子时保存它们。我开始只是发布旨在保存术语的代码,但意识到我应该发布创建和显示元盒的代码,以用于上下文。自定义帖子类型名称为“homes”,自定义分类名称为“beds”。分类法是分层的(我认为这并不重要,但我可能错了)。//adding metaboxes for the homes pos