在wp-admin中,我创建了一个新的管理菜单页面。
add_menu_page('My custom post page type title', 'My custom post type menu', '', 'my-custom-slug', '', '', 99);
add_submenu_page('my-custom-slug', 'Add new', 'Add new', 'manage_options', 'post-new.php?post_type=my-custom-post-type', '');
我想使用post-new.php和edit.php这样的面板,所以我注册了一个自定义帖子类型。
register_post_type('my-custom-post-type',
array('labels'=>array('name'=>__('Products','text-domain'),
'singular_name'=>__('Product','text-domain'),
'menu_name'=>_x('Products','Admin menu name','text-domain'),
'add_new'=>__('Add Product','text-domain'),
'add_new_item'=>__('Add New Product','text-domain'),
'edit_item'=>__('Edit Product','text-domain'),
'new_item'=>__('New Product','text-domain'),
'view_item'=>__('View Product','text-domain'),
'not_found'=>__('No Products found','text-domain'),
'not_found_in_trash'=>__('No Products found in trash','text-domain')),
'supports'=>array('title','editor','thumbnail','comments')
'rewrite'=>array('slug'=>'mscases'),
'public'=>true,
'capability_type'=>'post'));
自定义菜单页面工作正常,元框Featured Image
也可以正常工作,我可以在媒体库中选择图像。
选择图片后,它不会显示在“特色图片”元框上,admin-ajax.php
响应为-1(我查看帖子页面,如果成功则为零)。
但如果我将参数my-custom-post-type
更改为product
(如woocommerce),我会看到我选中的精选图片。
编码时有什么我想念的吗?
答案 0 :(得分:0)
替换并尝试
register_post_type('my-custom-post-type',
array('labels' => array('name' => __('Products', 'text-domain'),
'singular_name' => __('Product', 'text-domain'),
'menu_name' => _x('Products', 'Admin menu name', 'text-domain'),
'add_new' => __('Add Product', 'text-domain'),
'add_new_item' => __('Add New Product', 'text-domain'),
'edit_item' => __('Edit Product', 'text-domain'),
'new_item' => __('New Product', 'text-domain'),
'view_item' => __('View Product', 'text-domain'),
'not_found' => __('No Products found', 'text-domain'),
'not_found_in_trash' => __('No Products found in trash', 'text-domain')),
'supports' => array('title', 'editor', 'thumbnail', 'comments'),
'rewrite' => array('slug' => 'mscases'),
'public' => true,
'capability_type' => 'post'));
答案 1 :(得分:0)
创建自定义帖子类型时,请不要使用' - '签收请使用' _'而不是' - '。
我过去有同样的问题,我已经改变了,它对我有用。
答案 2 :(得分:0)
谷歌搜索这个问题,最后我发现问题是。
您必须使用add_action
并将挂钩设置为init
。
例如add_action('init', array('MyClass', 'RegisterPostType'));
特色图片效果很好。
答案 3 :(得分:0)
你必须首先告诉WordPress你的主题支持特色图像,方法是将它放在functions.php上:
add_action( 'after_setup_theme', 'umbrella_theme_setup' );
function umbrella_theme_setup(){
add_theme_support('post-thumbnails');
}
而且您需要在自定义帖子上启用精选图片:
register_post_type('my-custom-post-type',
array('labels'=>array('name'=>__('Products','text-domain'),
'singular_name'=>__('Product','text-domain'),
'menu_name'=>_x('Products','Admin menu name','text-domain'),
'add_new'=>__('Add Product','text-domain'),
'add_new_item'=>__('Add New Product','text-domain'),
'edit_item'=>__('Edit Product','text-domain'),
'new_item'=>__('New Product','text-domain'),
'view_item'=>__('View Product','text-domain'),
'not_found'=>__('No Products found','text-domain'),
'not_found_in_trash'=>__('No Products found in trash','text-domain')),
'supports'=>array('title','editor','thumbnail','comments')
'rewrite'=>array('slug'=>'mscases'),
'public'=>true,
'capability_type'=>'post'));
精选图片元素现在应该出现在您的自定义帖子上,the_post_thumnail();
功能应该有效。'
而且你必须删除sub_menu_page和menu_page,因为WordPress为他们显示了一个用户界面,所以你不必准备一个。