Php Wordpress中的自定义帖子类型-无法获取要显示的元框

Php Wordpress中的自定义帖子类型-无法获取要显示的元框,php,wordpress-theming,wordpress,Php,Wordpress Theming,Wordpress,我已经设法在左侧加载Vehicle Manager部分,以便创建自定义帖子类型,但如果有意义的话,我无法显示元框来输入该帖子类型的自定义信息 这是我的vehicle-manager.php: <?php add_action('init', 'vehicle_manager_register'); function vehicle_manager_register() { //Arguments to create post type. $args = array(

我已经设法在左侧加载Vehicle Manager部分,以便创建自定义帖子类型,但如果有意义的话,我无法显示元框来输入该帖子类型的自定义信息

这是我的vehicle-manager.php:

<?php
add_action('init', 'vehicle_manager_register');
function vehicle_manager_register()
{
    //Arguments to create post type.
    $args = array(
        'label' => __('Vehicle Manager'),
        'singular_label' => __('Vehicle'),
        'public' => true,
        'show_ui' => true,
        'capability_type' => 'post',
        'hierarchical' => true,
        'has_archive' => true,
        'supports' => array(
            'title',
            'editor',
            'thumbnail'
        ),
        'rewrite' => array(
            'slug' => 'vehicles',
            'with_front' => false
        )
    );
    //Register type and custom taxonomy for type.
    register_post_type('vehicle', $args);
    register_taxonomy("vehicle-type", array(
        "vehicles"
    ), array(
        "hierarchical" => true,
        "label" => "Vehicle Types",
        "singular_label" => "Vehicle Type",
        "rewrite" => true,
        "slug" => 'vehicle-type'
    ));
}
//Begin custom fields
if (function_exists('add_theme_support')) {
    add_theme_support('post-thumbnails');
    set_post_thumbnail_size(220, 150);
    add_image_size('storefront', 800, 600, true);
}
add_action("admin_init", "vehicle_manager_add_meta");
function vehicle_manager_add_meta()
{
    add_meta_box("vehicle-meta", "Vehicle Options", "vehicle_manager_meta_options", "vehicles", "normal", "high");
}
//Start of actual custom fields
function vehicle_manager_meta_options()
{
    global $post;
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
        return $post_id;
    $custom  = get_post_custom($post->ID);
    $make    = $custom["make"][0];
    $model   = $custom["model"][0];
    $year    = $custom["year"][0];
    $mileage = $custom["mileage"][0];
    $engine  = $custom["engine"][0];
    $colour  = $custom["colour"][0];
    $price   = $custom["price"][0];
    $uspa    = $custom["uspa"][0];
    $uspb    = $custom["uspb"][0];
    $uspc    = $custom["uspc"][0];
?>
<style type="text/css">
<?php
    include('vehicle-manager.css');
?>
</style>
<div class="vehicle_manager_extras">
<div><label>Make:</label><input name="make"
value="<?php
    echo $make;
?>" /></div>
<div><label>Model</label><input name="model"
value="<?php
    echo $model;
?>" /></div>
<div><label>Year:</label><input name="year"
value="<?php
    echo $year;
?>" /></div>
<div><label>Miles:</label><input name="miles"
value="<?php
    echo $miles;
?>" /></div>
<div><label>Engine:</label><input name="engine"
value="<?php
    echo $engine;
?>" /></div>
<div><label>Colour:</label><input name="colour"
value="<?php
    echo $colour;
?>" /></div>
<div><label>Price:</label><input name="price"
value="<?php
    echo $price;
?>" /></div>
<div><label>Feature 1 (optional):</label><input name="uspa"
value="<?php
    echo $uspa;
?>" /></div>
<div><label>Feature 2 (optional):</label><input name="uspb"
value="<?php
    echo $uspb;
?>" /></div>
<div><label>Feature 3 (optional):</label><input name="uspc"
value="<?php
    echo $uspc;
?>" /></div>
</div>
<?php
}
add_action('save_post', 'business_manager_save_extras');
function business_manager_save_extras()
{
    global $post;
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
        //if you remove this the sky will fall on your head.
        return $post_id;
    } else {
        update_post_meta($post->ID, "make", $_POST["make"]);
        update_post_meta($post->ID, "model", $_POST["model"]);
        update_post_meta($post->ID, "year", $_POST["year"]);
        update_post_meta($post->ID, "miles", $_POST["miles"]);
        update_post_meta($post->ID, "engine", $_POST["engine"]);
        update_post_meta($post->ID, "colour", $_POST["colour"]);
        update_post_meta($post->ID, "price", $_POST["price"]);
        update_post_meta($post->ID, "uspa", $_POST["uspa"]);
        update_post_meta($post->ID, "uspb", $_POST["uspb"]);
        update_post_meta($post->ID, "uspc", $_POST["uspc"]);
    }
}
下面是functions.php:

<?php
require_once('vehicle-manager.php');
define('TEMPPATH', get_bloginfo('stylesheet_directory'));
define('IMAGES', TEMPPATH . "/images");
add_theme_support('nav-menus');
if (function_exists('register_nav_menus')) {
    register_nav_menus(array(
        'main' => 'Main Nav'
    ));
}
if (function_exists('register_sidebar')) {
    register_sidebar(array(
        'name' => __('Primary Sidebar', 'primary-sidebar'),
        'id' => 'primary-widget-area',
        'description' => __('The primary widget area', 'dir'),
        'before_widget' => '<div class="widget">',
        'after_widget' => "</div>",
        'before_title' => '<h3 class="widget-title">',
        'after_title' => '</h3>'
    ));
}
16;
?>

您正在向posttype vehicles注册元数据库:

当您将posttype注册为车辆时:

您的分类也不应该出现,因为您也为车辆而不是车辆启用了它:


另外:请尽量减少您的代码,省略不相关的部分,即侧栏内容

您正在记录带有车辆名称的post_类型

在分类法中,您必须向post_type vehicle no vehicles注册

自定义目标还必须向post_类型车辆无车辆注册

add_meta_box("vehicle-meta", "Vehicle Options", "vehicle_manager_meta_options", "vehicles", "normal", "high");
register_post_type('vehicle', $args);
register_taxonomy("vehicle-type", array(
        "vehicles"
    ), array( ... ));