@Aricus

Как отобразить пользовательский тип записи в меню административной панели?

Я создаю пользовательский тип записи - заказы. Он должен быть доступен только из админки. Доступ для него нужно настроить отдельно, потому даю метку capability_type "sale" для установления прав. Пока всё правильно: если установить метку "post", с ним можно нормально работать.
function create_posttype_order() {
    register_post_type( 'ord',
        array(
            'labels' => array(
            'name' => __( 'Заказы' ),
            'singular_name' => __( 'Заказ' )
        ),
        'public' => false,
        'show_ui' => true,
		'menu_position' => 7,
        'has_archive' => false,
		'capability_type' => array('sale', 'sales'),
		'map_meta_cap' => true,
        'rewrite' => false,
		'show_in_menu' => true
        )
    );
}
add_action( 'init', 'create_posttype_order' );

Дальше я пытаюсь для администратора добавить возможность читать и удалять заказы.
function ord_change_roles(){
	$admin = get_role( 'administrator' );
	$admin->add_cap( 'delete_published_sales' );
	$admin->add_cap( 'delete_sales' );
	$admin->add_cap( 'delete_private_sales' );
	$admin->add_cap( 'read_private_sales' );
	$admin->add_cap( 'read_sales' );
}
add_action( 'admin_init', 'ord_change_roles');

Пункта "Заказы" в меню админки не появляется. То ли я вообще неправильно что-то делаю, то ли нужно задать какое-то ещё право, чтобы этот пункт отображался.
  • Вопрос задан
  • 22 просмотра
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 1
anatoly_kulikov
@anatoly_kulikov
Wordpress-разработчик
Нужно указать 'show_in_menu' => true, потому что он по умолчанию null.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы