我有一个Wordpress安装,其中包含数千个公开的页面,我需要将这些页面设为私有。我不能用插件来帮助我;我需要使用Wordpress内置的Public / Protected / Private范例来实现它。
理想情况下,我会在数据库的SQL导出上运行搜索和替换。或者,我愿意编写一个PHP脚本来处理它。
不能手动将所有页面设为私有 - 我正在寻找一种处理此问题的编程方法。
有人可以帮忙吗?
答案 0 :(得分:6)
使用以下查询在数据库中将它们设置为私有:
UPDATE `wp_posts` SET `post_status` = 'private';
这会将所有帖子设置为私有,我猜您不会真正使用该查询。
相反,仅将文章设置为“私人”使用:
UPDATE `wp_posts` SET `post_status` = 'private' WHERE `post_type` = 'post';
并且只禁用页面,请使用:
UPDATE `wp_posts` SET `post_status` = 'private' WHERE `post_type` = 'page';
修订后的状态为“inherit”,从而获得从父页面或文章继承的权利。
答案 1 :(得分:1)
正如Feeela所说:你可以直接在表上运行查询,或者你可以使用WP函数:
使用have_post
和the_post
$my_posts['ID'] = get_the_ID();
$my_posts['post_status'] = 'private';
$my_posts['post_type'] = 'page';
wp_update_post( $my_post );
答案 2 :(得分:0)
UPDATE `wp_posts` SET `post_status` = 'private' WHERE `post_type`='page';
此查询仅将页面设置为私有