wp_admin_bar_edit_menu( WP_Admin_Bar $wp_admin_bar )

In this article

Provides an edit link for posts and terms.

Parameters

$wp_admin_barWP_Admin_Barrequired
The WP_Admin_Bar instance.

Source

function wp_admin_bar_edit_menu( $wp_admin_bar ) {	global $tag, $wp_the_query, $user_id, $post_id;	if ( is_admin() ) {	$current_screen = get_current_screen();	$post = get_post();	$post_type_object = null;	if ( 'post' === $current_screen->base ) {	$post_type_object = get_post_type_object( $post->post_type );	} elseif ( 'edit' === $current_screen->base ) {	$post_type_object = get_post_type_object( $current_screen->post_type );	} elseif ( 'edit-comments' === $current_screen->base && $post_id ) {	$post = get_post( $post_id );	if ( $post ) {	$post_type_object = get_post_type_object( $post->post_type );	}	}	if ( ( 'post' === $current_screen->base || 'edit-comments' === $current_screen->base )	&& 'add' !== $current_screen->action	&& ( $post_type_object )	&& current_user_can( 'read_post', $post->ID )	&& ( $post_type_object->public )	&& ( $post_type_object->show_in_admin_bar ) ) {	if ( 'draft' === $post->post_status ) {	$preview_link = get_preview_post_link( $post );	$wp_admin_bar->add_node(	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_node(	array(	'id' => 'view',	'title' => $post_type_object->labels->view_item,	'href' => get_permalink( $post->ID ),	)	);	}	} elseif ( 'edit' === $current_screen->base	&& ( $post_type_object )	&& ( $post_type_object->public )	&& ( $post_type_object->show_in_admin_bar )	&& ( get_post_type_archive_link( $post_type_object->name ) )	&& ! ( 'post' === $post_type_object->name && 'posts' === get_option( 'show_on_front' ) ) ) {	$wp_admin_bar->add_node(	array(	'id' => 'archive',	'title' => $post_type_object->labels->view_items,	'href' => get_post_type_archive_link( $current_screen->post_type ),	)	);	} elseif ( 'term' === $current_screen->base && isset( $tag ) && is_object( $tag ) && ! is_wp_error( $tag ) ) {	$tax = get_taxonomy( $tag->taxonomy );	if ( is_term_publicly_viewable( $tag ) ) {	$wp_admin_bar->add_node(	array(	'id' => 'view',	'title' => $tax->labels->view_item,	'href' => get_term_link( $tag ),	)	);	}	} elseif ( 'user-edit' === $current_screen->base && isset( $user_id ) ) {	$user_object = get_userdata( $user_id );	$view_link = get_author_posts_url( $user_object->ID );	if ( $user_object->exists() && $view_link ) {	$wp_admin_bar->add_node(	array(	'id' => 'view',	'title' => __( 'View User' ),	'href' => $view_link,	)	);	}	}	} else {	$current_object = $wp_the_query->get_queried_object();	if ( empty( $current_object ) ) {	return;	}	if ( ! empty( $current_object->post_type ) ) {	$post_type_object = get_post_type_object( $current_object->post_type );	$edit_post_link = get_edit_post_link( $current_object->ID );	if ( $post_type_object	&& $edit_post_link	&& current_user_can( 'edit_post', $current_object->ID )	&& $post_type_object->show_in_admin_bar ) {	$wp_admin_bar->add_node(	array(	'id' => 'edit',	'title' => $post_type_object->labels->edit_item,	'href' => $edit_post_link,	)	);	}	} elseif ( ! empty( $current_object->taxonomy ) ) {	$tax = get_taxonomy( $current_object->taxonomy );	$edit_term_link = get_edit_term_link( $current_object->term_id, $current_object->taxonomy );	if ( $tax && $edit_term_link && current_user_can( 'edit_term', $current_object->term_id ) ) {	$wp_admin_bar->add_node(	array(	'id' => 'edit',	'title' => $tax->labels->edit_item,	'href' => $edit_term_link,	)	);	}	} elseif ( $current_object instanceof WP_User && current_user_can( 'edit_user', $current_object->ID ) ) {	$edit_user_link = get_edit_user_link( $current_object->ID );	if ( $edit_user_link ) {	$wp_admin_bar->add_node(	array(	'id' => 'edit',	'title' => __( 'Edit User' ),	'href' => $edit_user_link,	)	);	}	}	} } 

Changelog

VersionDescription
5.5.0Added a "View Post" link on Comments screen for a single post.
3.1.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.