Hidden private posts for not logged in users
默认情况下,私人帖子仅在登录时可见。Override, show private posts for everyone
有没有一种聪明的方法来克服这个问题?让每个人都能看到它?404 page
我知道在查询中使用它,但最大的问题是显示的404页面。它应该使用single而不是404模板。php模板。Hidden private posts for not logged in users
默认情况下,私人帖子仅在登录时可见。Override, show private posts for everyone
有没有一种聪明的方法来克服这个问题?让每个人都能看到它?404 page
我知道在查询中使用它,但最大的问题是显示的404页面。它应该使用single而不是404模板。php模板。正如评论中已经提到的,私人帖子是私人的,这是有充分理由的。
如果您想改变这种行为,可能需要改变get_posts()
用于检索您的帖子。
我没有尝试,但这可能会奏效:
$args = array(
\'post_status\' => array(
\'publish\',
\'private\'
)
);
$myposts = get_posts($args);
您可以向任何这样的用户角色添加读取私人帖子的功能。
将以下代码添加到函数中。wordpress主题文件夹中的php:
$subRole = get_role( \'author\' );
$subRole->add_cap( \'read_private_pages\' );
在这里,您将看到详细信息教程http://www.shartd.com/let-subscriber-see-private-post-wordpress/我被这些答案弄糊涂了。
当我有“私人”帖子/页面时,我登录时无法看到它们。我只有当我是管理员时才能看到它们。
关于OP的问题--
我使用WPDB类方法有选择地从数据库中提取post\\U内容,以绕过权限:
global $wpdb; //global wpdb class may not work everywhere...
$post_id = (int) $post_id; // you supply $post_id && make sure int...
$result = $wpdb->get_var("SELECT post_content FROM wp_posts WHERE ID = $post_id");
if(!empty($result)) $result = apply_filters(\'the_content\',$result); //will also execute shortcodes in the content
//do stuff like echo $result
如果我写一个私有插件,有没有办法使用WordPress自动更新机制来更新它 我想封装这个功能,但它是我自己的5个博客特有的,所以它不是公共插件资源的好候选。但我喜欢这种简单的更新机制 有没有办法做到这一点