Xem trang chủ ở chế độ xem trước


7

Có cách nào để xem trang chủ của bạn ở chế độ xem trước, để tôi có thể kiểm tra xem bài đăng của mình sẽ trông như thế nào trên trang chủ trước khi xuất bản chúng (tức là để đảm bảo hình ảnh nổi bật trông đúng, v.v.).

Câu trả lời:


6

Tôi nghĩ bạn có thể đặt bài đăng của mình privateđể xem riêng tư trên trang chủ.

Khi bạn thay đổi mức độ hiển thị thành riêng tư, trạng thái bài đăng hoặc trang sẽ thay đổi thành "Được xuất bản riêng tư" như được hiển thị. Các bài đăng riêng tư được tự động xuất bản nhưng không hiển thị cho bất kỳ ai trừ những người có mức cấp phép phù hợp (Trình chỉnh sửa hoặc Quản trị viên).

Xem ở đây .


Đây là một ý tưởng để xem draftbài viết trên trang web:

Ví dụ, hãy sử dụng lại previewtham số để thêm các draftbài đăng vào chế độ xem trang hiện tại:

- example.com/?preview=true
- example.com/2014/01/?preview=true

Sau đó, chúng tôi sửa đổi tất cả các truy vấn lối vào, cho người dùng đã đăng nhập, với:

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;
});

nhưng chúng ta có thể sử dụng is_main_query()để hạn chế các sửa đổi đối với truy vấn chính.

ps: điều này có thể cần một số thử nghiệm hoặc điều chỉnh ... nhưng bạn có ý tưởng ;-)


Riêng tư! Tôi thích ý tưởng của bạn. Tôi đã suy nghĩ về mã, và bạn nghĩ ra một ý tưởng đơn giản.
ucon89

Đó là một cách thông minh và rất tiện lợi để làm điều đó. +1
kaiser
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.