自定义帖子类型会破坏wordpress本身

时间:2012-06-27 11:51:22

标签: wordpress custom-post-type

我正在尝试向Wordpress添加自定义帖子类型。我可以使用以下代码注册自定义帖子类型,以便它在左侧菜单栏上可见。

add_action( 'init', 'add_member');

function add_member() {

$args = array(
    'label' => __('Members'),
    'singular_label' => __('Member'),
    'public' => true,
    'show_ui' => true,
    'capability_type' => 'post',
    'hierarhical' => false,
    'rewrite' => true,
    'supports' => array('title', 'editor', 'thumbnail')
);

register_post_type( 'member', $args );

}

但问题是,当我尝试添加自定义元框时,它会破坏网站。

add_action("admin_init", "admin_init");

function admin_init() {

add_meta_box("memberInfo-meta", "Member Options", "meta_options", "member", "side", "low");

}

add_action('save_post', 'save_member');

function meta_options() {

global $post;
$custom = get_post_custom($post->ID);
$member = $custom["member"][0];

}

<label>Member:</label><input name="member" value="<?php echo $member; ?>" />

function save_member() {

global $post;
update_post_meta( $post->ID, "member", $_POST["member"] );

}

我做错了什么?

感谢。

3 个答案:

答案 0 :(得分:1)

不确定你需要完成什么/什么,但是有一个非常好的,小而整洁的插件,称为“custom-post-type-ui”,具有强大的功能。很久以前我和你一样挣扎,但这个插件让我的生活更轻松。见here

答案 1 :(得分:1)

只是浏览一下代码,但是。 您正在尝试将名为“admin_init”的函数挂钩到挂钩admin_init。这显然是行不通的。尝试将您的“admin_init”功能更改为其他功能。

您可以在wp_config中激活DEBUG(或检查您的error_log)以实际找出导致它破坏的原因。

答案 2 :(得分:0)

您应该将功能挂钩到&#34; add_meta_boxes&#34; 操作。

代替:

add_action("admin_init", "admin_init");

使用:

add_action("add_meta_boxes", "admin_init");

我也建议你为你的功能使用前缀: 而不是打电话给function admin_init你可以称之为myplugin_admin_init。这将有助于您避免因函数命名而导致的错误。