以预览模式查看主页

时间:2014-01-16 作者:Matt Whetton

有没有办法以预览模式查看您的主页,以便我可以在发布之前检查我的帖子在主页上的外观(即确保特色图片看起来正确等)。

1 个回复
最合适的回答,由SO网友:birgire 整理而成

我想你可以把你的职位设置为private 在主页上私下查看。

将可见性更改为“私人”后,帖子或页面状态将更改为“私人发布”,如图所示。私人帖子会自动发布,但除了具有相应权限级别(编辑或管理员)的人以外,任何人都看不到。

看见here.

这里有一个想法draft 网站帖子:

让我们重新使用preview 参数以添加draft 发布到当前页面视图,例如:

- example.com/?preview=true
- example.com/2014/01/?preview=true
然后,我们修改所有前端查询,针对登录用户,使用:

add_filter( \'posts_where\', function( $where ){
   if( ! is_admin() 
       && is_user_logged_in() 
       && \'true\' === get_query_var( \'preview\' ) 
       && ! is_singular() )
   {
        global $wpdb;
        $from = sprintf( "%s.post_status = \'publish\'", $wpdb->posts ) ;
        if( current_user_can( \'edit_others_posts\' ) )
        {
            // add drafts from all users:
            $to = sprintf( "%s.post_status IN ( \'publish\', \'draft\' ) ", $wpdb->posts ) ;
        }
        else
        {
            // add drafts from current user:
            $sql = " ( %s.post_status = \'publish\' 
                       OR ( %s.post_status = \'draft\'  AND %s.post_author = %d ) ) ";
            $to = sprintf( $sql, 
                           $wpdb->posts, 
                           $wpdb->posts, 
                           $wpdb->posts, 
                           get_current_user_id() 
                  );
        }
        $where  = str_ireplace( $from, $to, $where );       
   }
   return $where;
});
但我们可以is_main_query() 限制对主查询的修改。

ps:这可能需要一些测试或调整。。。但你明白了;-)

结束

相关推荐

rename index or homepage

我尝试过任何事情,但似乎都无法按我的意愿发挥作用,所以我希望你能帮助我。情况我有2个wordpress网站,运行在不同的主机上,唯一的链接是“商业”链接。他们是这样设置的。url。com/wp是我的wordpress目录,我的索引在根目录中。参考。所以我有很好的url。com/联系人等。现在我有了一个简单的html页面,它必须是一个选择器。当您转到url时。com和url2。你可以看到这个索引。链接到url的html。com和url2。com。因此,每个url的根页面,用户可以选择转到url 1或2。我无