2014-10-07 85 views
0

我設法讓「車輛管理器」部分加載到左側,所以我可以創建自定義文章類型,但我無法獲得元框的顯示來輸入該帖子類型的自定義信息(如果有意義的話)。Wordpress中的自定義文章類型 - 無法獲取元框的顯示

這是我的車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; 
?> 

回答

0

你有posttype vehicles(4th argument)註冊您的metabox:

add_meta_box("vehicle-meta", "Vehicle Options", "vehicle_manager_meta_options", "vehicles", "normal", "high"); 

當您將您的帖子類型註冊爲vehicle(1st argument)

register_post_type('vehicle', $args); 

您的分類不應該出現不管是你能爲他人所vehicles以及代替vehicle

register_taxonomy("vehicle-type", array(
     "vehicles" 
    ), array(...)); 

(另:請儘量保持你的代碼儘可能小,省略無關的部分(即側邊欄的東西))

0

您正在記錄的名稱爲「vehicle」的post_type。

在分類中,您必須註冊post_type「車輛」否「車輛」。

自定義目標還必須註冊post_type「車輛」否「車輛」。

相關問題