我正在第一次开发一个主题,就像我的第一个大项目一样。我写了我的functions.php
一切顺利。我在自定义帖子类型中有3个自定义元框,用于Bands Gigs。
元框是Gig Venue,Gig Country,Gig Date。
一切都显示在管理面板中,您可以点击添加新的演出,输入所有信息。但是,一旦你点击发布,它就会重定向到/wp-admin/post.php并且它是完全空白的。
如果我只是从网址栏中删除了post.php,它会将我带回管理面板并且已经发布了演出,它会显示在Band Gigs主列表中。
这不仅适用于新的自定义后期类型,也适用于甚至添加新页面。我写了一个函数来隐藏管理面板中的POSTS,MEDIA,LINKS菜单项,因为在这个主题中不需要它们。
其他人有这个问题,是否有一个简单的解决方案,我只是不知道?
我做过的事: - 删除主题,重新安装。 - 删除数据库和DB的全新安装 - 使用已在主题文件夹中上传主题的全新安装完全删除了WP。
仍然没有。
所有帮助,或指向正确方向的手指都会令人惊叹。 Nooby就像PHP一样。
这是我编写的functions.php代码,遵循一些在线教程。
<?php
// remove menu items that are not needed for this specific theme
function remove_menus () {
global $menu;
$restricted = array(
__('Posts'),
__('Media'),
__('Links'),
__('Comments'),
);
end ($menu);
while (prev($menu)){
$value = explode(' ',$menu[key($menu)][0]);
if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
}
}
add_action('admin_menu', 'remove_menus');
// create custom post type for GIGS
add_action('init', 'gig_register');
function gig_register() {
$labels = array(
'name' => _x('Band Gigs', 'post type general name'),
'singular_name' => _x('Band Gig', 'post type singular name'),
'add_new' => _x('Add New Gig', 'show date'),
'add_new_item' => __('Add New Gig Date'),
'edit_item' => __('Edit Gig Date'),
'new_item' => __('New Gig Date'),
'view_item' => __('View Gig Date'),
'search_items' => __('Search Gigs'),
'not_found' => __('Nothing found'),
'not_found_in_trash' => __('Nothing found in Trash'),
'parent_item_colon' => '',
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'query_var' => true,
'menu_icon' => get_stylesheet_directory_uri() . '/images/calendar_pencil.png',
'rewrite' => true,
'capability_type' => 'post',
'hierarchical' => false,
'menu_position' => null,
'supports' => array(
'custom-fields' => true,
),
);
register_post_type( 'gigs' , $args );
}
// create custom meta boxes for show dates / locations
add_action("admin_init", "admin_init");
function admin_init() {
add_meta_box("gig_venue_meta", "Gig Venue", "gig_venue", "gigs", "normal", "low");
add_meta_box("gig_country_meta", "Gig Country", "gig_country", "gigs", "normal", "low");
add_meta_box("gig_time_meta", "Gig Date || Date format must be M,D,Y (ex: 5/12/2012)", "gig_date", "gigs", "normal", "low");
}
// create inputs for custom meta boxes
function gig_venue(){
global $post;
$custom = get_post_custom($post->ID);
$gig_venue = $custom["gig_venue"][0];
?>
<label>Venue Name:</label>
<input name="gig_venue" value="<?php echo $gig_venue; ?>" placeholder="Enter Venue Name Here" />
<?php
}
function gig_country(){
global $post;
$custom = get_post_custom($post->ID);
$gig_country = $custom["gig_country"][0];
?>
<label>Gig Country:</label>
<input name="gig_country" value="<?php echo $gig_country; ?>" placeholder="Enter Country Here" />
<?php
}
function gig_date(){
global $post;
$custom = get_post_custom($post->ID);
$gig_date = $custom["gig_date"][0];
?>
<label>Gig Time:</label>
<input name="gig_date" value="<?php echo $gig_date; ?>" placeholder="Enter Gig Date Here" />
<?php
}
// end creation of inputs for custom meta boxes
// save custom meta boxes info
add_action('save_post', 'save_details');
function save_details(){
global $post;
update_post_meta($post->ID, "gig_venue", $_POST["gig_venue"]);
update_post_meta($post->ID, "gig_country", $_POST["gig_country"]);
update_post_meta($post->ID, "gig_date", $_POST["gig_date"]);
}
// end save custom meta box info
// edit gig page list info
add_action("manage_posts_custom_column", "gigs_custom_columns");
add_filter("manage_edit-gigs_columns", "gigs_edit_columns");
function gigs_edit_columns($columns) {
$columns = array(
"cb" => "<input type=\"checkbox\" />",
"gig_venue" => "Gig Venue",
"gig_country" => "Gig Country",
"gig_date" => "Gig Date",
);
return $columns;
}
function gigs_custom_columns($columns) {
global $post;
switch ($columns) {
case "gig_venue":
$custom = get_post_custom();
echo $custom["gig_venue"][0];
break;
case "gig_country":
$custom = get_post_custom();
echo $custom["gig_country"][0];
break;
case "gig_date":
$custom = get_post_custom();
echo $custom["gig_date"][0];
break;
}
}
// end edit gig page list info
?>
答案 0 :(得分:0)
删除?&gt;在function.php的最后一行,它会工作! 看一下origanl twentyeleven function.php,你会发现文件末尾没有php close标签。
再见