Удалить "Записи" из админки, но оставить пользовательский тип записей
После изучения:
http://codex.wordpress.org/Function_Reference/remove_menu_page,
я успешно использовал следующий код для скрытия некоторых пунктов меню:
add_action( 'admin_menu', 'my_remove_menu_pages' );
function my_remove_menu_pages() {
remove_menu_page('link-manager.php');
remove_menu_page('tools.php');
remove_menu_page('users.php');
remove_menu_page('edit-comments.php');
}
Однако как страница "Записи", так и страница пользовательского типа записей используют один и тот же путь /wp-admin/edit.php
.
Мне нужно скрыть пункт меню "Записи", но при этом оставить видимым меню для моего пользовательского типа записей.

Выполняя этот поиск, я нашел этот отличный ответ от Chris_O. Там даже есть предложенное мной jQuery-решение.
В любом случае, функция remove_menu_page('edit.php');
удаляет только меню "Записи".
Но, как мы узнаем из ответа Криса, remove_menu_page('edit.php?post_type=athletes');
удаляет меню пользовательского типа записи.
Чтобы действительно заблокировать доступ к URL, так как мы лишь скрываем пункт меню, ознакомьтесь со следующим вопросом и ответом: Блокировка административного доступа для авторов и подписчиков?

Конечно, athletes
— это название моего пользовательского типа записи... При необходимости измените.

@Alisso Нет. Вы можете выбрать только один. Поскольку оба варианта частично показывают одно и то же решение, возможно, стоит выбрать тот, который содержит все (или большинство) необходимых вам деталей. :)

Я только что попробовал, и remove_menu_page('edit.php');
удаляет только верхний уровень меню "Записи".
Все мои другие пользовательские типы записей (а их у меня много) продолжают работать нормально. У меня есть ощущение, что это происходит потому, что функция ищет точное совпадение по слагу, а не по базовому имени файла.
