get_edit_post_link

函数
get_edit_post_link ( $post = 0, $context = 'display' )
参数
  • (int|WP_Post) $post Optional. Post ID or post object. Default is the global `$post`.
    Required:
  • (string) $context Optional. How to output the '&' character. Default '&'.
    Required:
    Default: 'display'
返回值
  • (string|null) The edit post link for the given post. Null if the post type does not exist or does not allow an editing UI.
定义位置
相关方法
get_next_post_linkedit_post_linkget_edit_tag_linkget_next_posts_linkget_delete_post_link
引入
2.3.0
弃用
-

get_edit_post_link: 这个函数用来检索一个给定的文章ID的编辑文章屏幕的URL。这可以用来生成链接或重定向到编辑文章屏幕。

检索文章的编辑链接。

可以在WordPress循环中使用,也可以在它之外使用。可以用于页面、文章、附件和修订。

function get_edit_post_link( $post = 0, $context = 'display' ) {
	$post = get_post( $post );

	if ( ! $post ) {
		return;
	}

	if ( 'revision' === $post->post_type ) {
		$action = '';
	} elseif ( 'display' === $context ) {
		$action = '&action=edit';
	} else {
		$action = '&action=edit';
	}

	$post_type_object = get_post_type_object( $post->post_type );

	if ( ! $post_type_object ) {
		return;
	}

	if ( ! current_user_can( 'edit_post', $post->ID ) ) {
		return;
	}

	if ( $post_type_object->_edit_link ) {
		$link = admin_url( sprintf( $post_type_object->_edit_link . $action, $post->ID ) );
	} else {
		$link = '';
	}

	/**
	 * Filters the post edit link.
	 *
	 * @since 2.3.0
	 *
	 * @param string $link    The edit link.
	 * @param int    $post_id Post ID.
	 * @param string $context The link context. If set to 'display' then ampersands
	 *                        are encoded.
	 */
	return apply_filters( 'get_edit_post_link', $link, $post->ID, $context );
}

常见问题

FAQs
查看更多 >