我正在尝试向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"] );
}
我做错了什么?
感谢。
答案 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
。这将有助于您避免因函数命名而导致的错误。