Wordpress add_meta_box在类中时不在自定义帖子类型中工作

时间:2011-08-20 22:48:00

标签: wordpress-plugin wordpress

我在使用插件创建自定义帖子类型时遇到问题。

我已经完成了一百次代码并开始怀疑Class是否有影响,array($this, 'insT_tag')是否可以作为回调参考?

我真的看不出有什么不对劲!我有一个用于创建类型的代码示例,然后添加元框。有没有人有任何想法?

function init_custom_post_types() {

  register_post_type('inGallery', array(
   'labels' => array(
     'name' => __('inGalleries', 'inGallery'),
     'singular_name' => 'inGallery',
     'add_new' => 'Add new inGallery',
     'add_new_item' => 'Add new inGallery',
     'edit_item' => 'Edit inGallery',
     'new_item' => 'New inGallery',
     'view_item' => 'Show inGallery',
     'search_items' => 'Search inGallery',
     'not_found' =>  'Not found',
     'not_found_in_trash' => 'No inGallery was found in trash',
     'parent_item_colon' => 'Parent:'
   ),
   'public' => true,
   'exclude_from_search' => false,
   'query_var' => true,
   'capability_type' => 'post',
   'show_in_nav_menus' => true,
   'menu_position' => 5,
   'supports' => array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments', 'revisions'),
   'taxonomies' => array('category', 'post_tag'),
   'rewrite' => array( 'slug' => 'in', 'with_front' => false ),
   'publicly_queryable' => true,
   'exclude_from_search' => false,
   'can_export' => true,
   'register_meta_box_cb' => array($this , 'add_inGallery_metaboxes' )
  ));

// Add the custom type to the homepage post loop
  add_filter( 'pre_get_posts', array($this, 'customTypeToPosts'));

}

public function add_inGallery_metaboxes () {
    add_meta_box( 'insT_tag', 'Hash Tag', array($this, 'insT_tag'), 'inGallery', 'side', 'high' , array('tester'));
}

public function insT_tag ( $a ) {
    print_r($a);
    echo'<input type="text" value="tester"/>';
}

1 个答案:

答案 0 :(得分:0)

所以经过几个小时我找到了答案......而且非常简单。邮件类型名称似乎转换为小写,因此我的camelCase名称inGallery变为ingallery。那很简单!

另外值得注意的是,调试此方法的好方法是运行类似:

foreach ( $post_types as $post_type ) {
    echo "<p>" . $post_type . '</p>';
}

所以你可以看到引用的内容。