试图在Wordpress中创建自定义文章类型,不断出现解析错误


Trying to create custom post type in Wordpress, keep getting parse error

我得到的错误是:

分析错误:语法错误,意外$end出现在第76行的/var/sites/cXXXXXXXXXXXXXX.co.uk/public_html/wp-content/themes/customtheme/vhicle-manager.php中

我最初在尝试使用require_once函数将vehicle-manager.php包含在functions.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
} ?>

问题是第一个函数从未关闭。

//Begin custom field之前添加一个}以关闭function vehicle_manager_register()

这应该能解决你的问题。

错误unexpected $end几乎总是意味着打开括号的东西在文档结束之前没有关闭。