Wordpress设置了自定义帖子类型的特色图像

时间:2015-10-13 02:31:04

标签: php ajax wordpress

在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),我会看到我选中的精选图片。

编码时有什么我想念的吗?

4 个答案:

答案 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为他们显示了一个用户界面,所以你不必准备一个。