Php 你能在没有插件的情况下让所有Wordpress页面同时私有吗?
我有一个Wordpress安装,有数千个页面都是公开的,我需要将其私有化。我不能使用插件来帮助我;我需要使用Wordpress内置的公共/保护/私有模式来完成 理想情况下,我会在数据库的SQL导出上运行搜索和替换。或者,我愿意编写一个PHP脚本来处理它 这不是一个选项,使所有的页面私人手动-我正在寻找一个编程方法来处理这个问题Php 你能在没有插件的情况下让所有Wordpress页面同时私有吗?,php,mysql,wordpress,Php,Mysql,Wordpress,我有一个Wordpress安装,有数千个页面都是公开的,我需要将其私有化。我不能使用插件来帮助我;我需要使用Wordpress内置的公共/保护/私有模式来完成 理想情况下,我会在数据库的SQL导出上运行搜索和替换。或者,我愿意编写一个PHP脚本来处理它 这不是一个选项,使所有的页面私人手动-我正在寻找一个编程方法来处理这个问题 有人能帮忙吗?只需使用以下查询在数据库中将它们设置为private: UPDATE `wp_posts` SET `post_status` = 'private';
有人能帮忙吗?只需使用以下查询在数据库中将它们设置为private:
UPDATE `wp_posts` SET `post_status` = 'private';
这会将所有帖子设置为private,我想您不会真正使用该查询
相反,要仅将项目设置为“专用”,请执行以下操作:
UPDATE `wp_posts` SET `post_status` = 'private' WHERE `post_type` = 'post';
要仅禁用页面,请使用:
UPDATE `wp_posts` SET `post_status` = 'private' WHERE `post_type` = 'page';
后期修订的状态为“继承”,因此获得从父页面或文章继承的权利
UPDATE `wp_posts` SET `post_status` = 'private' WHERE `post_type`='page';
此查询只会将页面设置为私有,正如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 );
有没有这样的方法可以在不编辑页面“状态”的情况下编辑页面的“可见性”?()@Khior我想也是这样。我曾尝试在后端将文章从“public”设置为“private”,并在数据库中切换状态。确切地知道可见性是如何设置的(两者之间的数据必须有所区别)会很好,但status方法对我来说是可行的。谢谢=)