- $wp_admin_bar->add_menu( array(
- 'id' => 'view',
- 'title' => $post_type_object->labels->view_item,
- 'href' => get_permalink( $post->ID )
- ) );
+ if( 'draft' == $post->post_status ) {
+ $preview_link = set_url_scheme( get_permalink( $post->ID ) );
+ /** This filter is documented in wp-admin/includes/meta-boxes.php */
+ $preview_link = apply_filters( 'preview_post_link', add_query_arg( 'preview', 'true', $preview_link ), $post );
+ $wp_admin_bar->add_menu( array(
+ 'id' => 'preview',
+ 'title' => $post_type_object->labels->view_item,
+ 'href' => esc_url( $preview_link ),
+ 'meta' => array( 'target' => 'wp-preview-' . $post->ID ),
+ ) );
+ } else {
+ $wp_admin_bar->add_menu( array(
+ 'id' => 'view',
+ 'title' => $post_type_object->labels->view_item,
+ 'href' => get_permalink( $post->ID )
+ ) );
+ }