У меня возникла проблема с назначением пользовательской возможности с настраиваемым типом сообщения в пользовательскую роль.
Проблема заключается в том, что я хочу удалить параметр Добавить новый (Не с хакером CSS или с помощью пункта меню) моего настраиваемого типа сообщений. Я уже сталкивался с ответами, которые предлагают множество решений, но ни один из них не работает отлично.
Ближе всего к тому, что я хочу:
register_post_type( 'custom_post_type_name', array(
'capability_type' => 'post',
'capabilities' => array(
'create_posts' => 'do_not_allow', // false < WP 4.5, credit @Ewout
),
'map_meta_cap' => true, // Set to `false`, if users are not allowed to edit/delete existing posts
));
Этот код удаляет ссылку "Добавить новую", но он назначает по умолчанию пост для функций. Строка 2-го кода выше. Если я изменю его на свой собственный тип сообщения, он перестанет работать, и я даже не могу опубликовать страницу сообщений.
Следует иметь в виду, что я работаю с пользовательской ролью, которая по умолчанию имеет возможность чтения.
Если я также назначил возможность edit_posts, тогда моя цель будет достигнута, но тогда пользователь может также получить доступ к сообщениям и комментариям, которые я не хочу.
Woocommerce делает это. Я погружаюсь в код woocommerce и добавляю эту строку, где он регистрирует свои продукты и заказы.
'capabilities' => array( 'create_posts' => 'do_not_allow' ),
И все работает так, как я хочу. Я изучил код woocommerce весь день, но не могу найти, как это делается. Может кто-то другой помочь мне в этом с другой парой глаз?:)
Большое значение. Спасибо..