wordpress默认情况下不能一次性给某个分类下的所有文章加密。今天有位网友提到这个问题:
一般都能在写文章时设置加密,但是如何现在给已经写好的一个分类的所有文章快速全部加密呢?不会只能一个一个编辑修改吧? 其实要想加密某个分类的所有文章,可以直接修改数据库,下面提供我写的sql,在我的博客上测试成功:
UPDATE wp_posts,wp_term_relationships,wp_term_taxonomy
SET wp_posts.post_password = '123456'
WHERE
wp_posts.ID = wp_term_relationships.object_id
AND
wp_term_taxonomy.taxonomy = 'category'
AND
wp_term_taxonomy.term_taxonomy_id = wp_term_relationships.term_taxonomy_id
AND
wp_posts.post_status = 'publish'
AND
wp_posts.post_type = 'post'
AND
wp_term_taxonomy.term_id = '5';
SET wp_posts.post_password = '123456'
WHERE
wp_posts.ID = wp_term_relationships.object_id
AND
wp_term_taxonomy.taxonomy = 'category'
AND
wp_term_taxonomy.term_taxonomy_id = wp_term_relationships.term_taxonomy_id
AND
wp_posts.post_status = 'publish'
AND
wp_posts.post_type = 'post'
AND
wp_term_taxonomy.term_id = '5';
以上第2行的 12345 改成你要设置的密码,将最后一行的5,改成你要修改的分类ID号。执行以上sql语句之前,请对你的数据库做好备份!
以上sql能够执行的前提是,你的wordpress博客数据库表用的是wordpress默认的数据库表名称wp_posts、wp_term_relationships,如果不是,就自己更改一下sql中表名吧。
附录,分类id的获取方式:进入wordpress管理后台,日志 – 分类,各个分类标题的链接类似,http://www.example.com/wp-admin/categories.PHP?action=edit&cat_ID=17 这其中cat_ID=17,17就是该分类的id