Поддержка Проблемы и решения Не могу добавить поддержку миниатюры(custom post type)

  • Добавлен тип записей blog с поддержкой thumbnail, добавлена роль blogger. Blogger может создавать записи типа blog, но не может добавить к ним миниатюру. В тоже время администратор имеет такую возможность. Ниже весь код участвующий в этом.

    function codex_blog_init() {
    		$labels = array(
    			'name'               => _x( 'Blogs', 'post type general name', 'your-plugin-textdomain' ),
    			'singular_name'      => _x( 'Blog', 'post type singular name', 'your-plugin-textdomain' ),
    			'menu_name'          => _x( 'Blogs', 'admin menu', 'your-plugin-textdomain' ),
    			'name_admin_bar'     => _x( 'Blog', 'add new on admin bar', 'your-plugin-textdomain' ),
    			'add_new'            => _x( 'Add New', 'blog', 'your-plugin-textdomain' ),
    			'add_new_item'       => __( 'Add New Blog', 'your-plugin-textdomain' ),
    			'new_item'           => __( 'New Blog', 'your-plugin-textdomain' ),
    			'edit_item'          => __( 'Edit Blog', 'your-plugin-textdomain' ),
    			'view_item'          => __( 'View Blog', 'your-plugin-textdomain' ),
    			'all_items'          => __( 'All Blogs', 'your-plugin-textdomain' ),
    			'search_items'       => __( 'Search Blogs', 'your-plugin-textdomain' ),
    			'parent_item_colon'  => __( 'Parent Blogs:', 'your-plugin-textdomain' ),
    			'not_found'          => __( 'No blogs found.', 'your-plugin-textdomain' ),
    			'not_found_in_trash' => __( 'No blogs found in Trash.', 'your-plugin-textdomain' )
    		);
    
    		$args = array(
    			'labels'             => $labels,
    	        'description'        => __( 'This post type add functionality to have own blog every registered subscriber', 'your-plugin-textdomain' ),
    			'public'             => true,
    			'publicly_queryable' => true,
    			'show_ui'            => true,
    			'show_in_menu'       => true,
    			'query_var'          => true,
    			'rewrite'            => array( 'slug' => 'blog' ),
    			'capabilities' => array(
    									'edit_post'          => 'edit_blog',
    									'read_post'          => 'read_blog',
    									'delete_post'        => 'delete_blog',
    									'edit_posts'         => 'edit_blogs',
    									'edit_others_posts'  => 'edit_others_blogs',
    									'edit_published_posts'  => 'edit_published_blogs',
    									'publish_posts'      => 'publish_blogs',
    									'read_private_posts' => 'read_private_blogs',
    									'create_posts'       => 'create_blogs',
    									),
    			'has_archive'        => true,
    			'hierarchical'       => false,
    			'menu_position'      => null,
    			'supports'           => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments' )
    		);
    
    		register_post_type( 'blog', $args );
    	}
    	add_action( 'init', 'codex_blog_init', 8 );
    
    	function add_blogger_role() {
    		add_role(
    		    'blogger',
    		    __( 'Blogger' ),
    		    array(
    		        'read'         => true,
    		        // 'edit_posts'   => false,
    		        'delete_posts' => false, // Use false to explicitly deny
    		    )
    		);
    	}
    	add_action( 'admin_init', 'add_role', 9);
    
    	function add_theme_caps() {
    	    $blogger = get_role( 'blogger' );
    
    	    $blogger->add_cap( 'read_blog' );
    	    // $blogger->add_cap( 'edit_blog' );
    	    $blogger->add_cap( 'edit_blogs' );
    	    $blogger->add_cap( 'publish_blogs' );
    	    // $blogger->add_cap( 'create_blogs' );
    	    // $blogger->remove_cap( 'edit_blogs' );
    	    // $blogger->remove_cap( 'edit_published_blogs' );
    	    $blogger->remove_cap( 'read_private_blogs' );
    	    $blogger->remove_cap( 'edit_others_blogs' ); 
    
    	    //Admin
    	    $administrator = get_role( 'administrator' );
    
    	    // $administrator->add_cap( 'edit_blog' );
    	    $administrator->add_cap( 'read_blog' );
    	    $administrator->add_cap( 'edit_blogs' );
    	    $administrator->add_cap( 'edit_others_blogs' );
    	    $administrator->add_cap( 'publish_blogs' );
    	    // $administrator->add_cap( 'create_blogs' );
    	}
    	add_action( 'admin_init', 'add_theme_caps');

  • Тема «Не могу добавить поддержку миниатюры(custom post type)» закрыта для новых ответов.