Как отключить опцию удаления для определенной страницы в админке WordPress?

Я нашел много вопросов, подобных этому, но ничего не соответствовало моему требованию. Вот мое требование — заблокировать определенную страницу с именем settings. Это не должно быть удалено другими. Но это должно быть в состоянии отредактировать. Есть ли способ заблокировать определенную страницу, используя ее идентификатор страницы или имя.

0

Решение

Создайте хук в файле функций тем, как показано ниже:

function restrict_page_deletion($post_ID){
$user = get_current_user_id();

$restricted_pageId = 4;

if($post_ID == $restricted_pageId)
{
echo "You are not authorized to delete this page.";
exit;
}
}
add_action('before_delete_post', 'restrict_page_deletion', 10, 1);

Передайте идентификатор вашей страницы в переменную limited_pageId.

Если вы хотите реализовать эту функциональность для нескольких страниц, используйте массив вместо переменной.

Администратор может переместить страницу в корзину, но администратор не сможет ее удалить.

Если вы хотите заблокировать администратор для функции отслеживания, тогда вызовите ловушку на действии «wp_trash_post».

add_action('wp_trash_post', 'restrict_page_deletion', 10, 1);
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]