禁用某些页面的可传递性

时间:2013-12-17 作者:Malibur

Im正在构建一个wp站点,其中有些页面仅在表单完成时显示。(想想“谢谢你联系我们,我们会尽快给你回复的”-键入页面)。我已经将其创建为一个页面,然后在提交表单后使用wp\\u重定向来访问它。

但现在客户端将能够删除此页面,然后它将在重定向时转到404。

所以问题是:有没有一种方法可以在wp管理员中锁定某些页面?我对这样一种解决方案感兴趣,即特定的页面将从特定的角色中消失,和/或特定的角色不能丢弃特定的页面,但仍然可以编辑它。

非常感谢你。

1 个回复
SO网友:luke

将此添加到您的函数中。主题文件夹中的php:

function restrict_post_deletion($post_ID){
    $user = get_current_user_id();
    $restricted_users = array(21,25,54,2,19);
    $restricted_pages = array(2,21,52,64);
    if(in_array($user, $restricted_users) && in_array($post_ID, $restricted_pages)){
        echo "You are not authorized to delete this page.";
        exit;
    }
}
add_action(\'wp_trash_post\', \'restrict_post_deletion\', 10, 1);
add_action(\'wp_delete_post\', \'restrict_post_deletion\', 10, 1);
摘自here 并更新至最新WP版本。

结束

相关推荐

All pages are the same

我的wordpress网站有一个奇怪的问题。My configuration:<WordPress 3.7.1自定义模板3种自定义帖子类型The problem (front-end)<所有页面均相同(cpt帖子)所有导航菜单均消失The problem (back-end)这很奇怪,但自定义帖子类型部分下的所有帖子列表都显示了页面列表。此外,表上的统计数据适当参考了自定义职位类型。一些图片可以更好地解释这一点:唯一正确的表格:其他错误:When the problem occurred?我正