1

我正在尝试向 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"] );

}

我究竟做错了什么?

谢谢。

4

3 回答 3

1

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

于 2012-06-27T11:55:58.613 回答
1

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

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

于 2012-06-27T14:05:35.483 回答
0

您应该将您的功能挂钩到“add_meta_boxes”操作。

代替:

add_action("admin_init", "admin_init");

利用:

add_action("add_meta_boxes", "admin_init");

我也建议你为你的函数使用前缀:而不是调用你的function admin_init你可以调用它myplugin_admin_init。这将帮助您避免因函数命名而导致的错误。

于 2014-07-16T08:32:22.330 回答