Link Template: Clarify documentation for the `$id` parameter in `get_post_permalink()`, `get_edit_post_link()`, `edit_post_link()`, and `get_delete_post_link()`, to reflect that either a post ID or `WP_Post` object is accepted.
Separately, use `$post` for checking the post status and retrieving the page_uri in `get_post_permalink()` instead of referencing back to the original `$id` parameter. Props GunGeekATX for the initial patch. Fixes #40780. Built from https://develop.svn.wordpress.org/trunk@40975 git-svn-id: http://core.svn.wordpress.org/trunk@40825 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
903d23be34
commit
0fe9fb4a16
|
@ -247,7 +247,7 @@ function get_permalink( $post = 0, $leavename = false ) {
|
||||||
*
|
*
|
||||||
* @global WP_Rewrite $wp_rewrite
|
* @global WP_Rewrite $wp_rewrite
|
||||||
*
|
*
|
||||||
* @param int $id Optional. Post ID. Default uses the global `$post`.
|
* @param int|WP_Post $id Optional. Post ID or post object. Default is the global `$post`.
|
||||||
* @param bool $leavename Optional, defaults to false. Whether to keep post name. Default false.
|
* @param bool $leavename Optional, defaults to false. Whether to keep post name. Default false.
|
||||||
* @param bool $sample Optional, defaults to false. Is it a sample permalink. Default false.
|
* @param bool $sample Optional, defaults to false. Is it a sample permalink. Default false.
|
||||||
* @return string|WP_Error The post permalink.
|
* @return string|WP_Error The post permalink.
|
||||||
|
@ -264,12 +264,12 @@ function get_post_permalink( $id = 0, $leavename = false, $sample = false ) {
|
||||||
|
|
||||||
$slug = $post->post_name;
|
$slug = $post->post_name;
|
||||||
|
|
||||||
$draft_or_pending = get_post_status( $id ) && in_array( get_post_status( $id ), array( 'draft', 'pending', 'auto-draft', 'future' ) );
|
$draft_or_pending = get_post_status( $post ) && in_array( get_post_status( $post ), array( 'draft', 'pending', 'auto-draft', 'future' ) );
|
||||||
|
|
||||||
$post_type = get_post_type_object($post->post_type);
|
$post_type = get_post_type_object($post->post_type);
|
||||||
|
|
||||||
if ( $post_type->hierarchical ) {
|
if ( $post_type->hierarchical ) {
|
||||||
$slug = get_page_uri( $id );
|
$slug = get_page_uri( $post );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !empty($post_link) && ( !$draft_or_pending || $sample ) ) {
|
if ( !empty($post_link) && ( !$draft_or_pending || $sample ) ) {
|
||||||
|
@ -1262,7 +1262,7 @@ function get_preview_post_link( $post = null, $query_args = array(), $preview_li
|
||||||
*
|
*
|
||||||
* @since 2.3.0
|
* @since 2.3.0
|
||||||
*
|
*
|
||||||
* @param int $id Optional. Post ID. Default is the ID of the global `$post`.
|
* @param int|WP_Post $id Optional. Post ID or post object. Default is the global `$post`.
|
||||||
* @param string $context Optional. How to output the '&' character. Default '&'.
|
* @param string $context Optional. How to output the '&' character. Default '&'.
|
||||||
* @return string|null The edit post link for the given post. null if the post type is invalid or does
|
* @return string|null The edit post link for the given post. null if the post type is invalid or does
|
||||||
* not allow an editing UI.
|
* not allow an editing UI.
|
||||||
|
@ -1313,7 +1313,7 @@ function get_edit_post_link( $id = 0, $context = 'display' ) {
|
||||||
* @param string $text Optional. Anchor text. If null, default is 'Edit This'. Default null.
|
* @param string $text Optional. Anchor text. If null, default is 'Edit This'. Default null.
|
||||||
* @param string $before Optional. Display before edit link. Default empty.
|
* @param string $before Optional. Display before edit link. Default empty.
|
||||||
* @param string $after Optional. Display after edit link. Default empty.
|
* @param string $after Optional. Display after edit link. Default empty.
|
||||||
* @param int $id Optional. Post ID. Default is the ID of the global `$post`.
|
* @param int|WP_Post $id Optional. Post ID or post object. Default is the global `$post`.
|
||||||
* @param string $class Optional. Add custom class to link. Default 'post-edit-link'.
|
* @param string $class Optional. Add custom class to link. Default 'post-edit-link'.
|
||||||
*/
|
*/
|
||||||
function edit_post_link( $text = null, $before = '', $after = '', $id = 0, $class = 'post-edit-link' ) {
|
function edit_post_link( $text = null, $before = '', $after = '', $id = 0, $class = 'post-edit-link' ) {
|
||||||
|
@ -1350,7 +1350,7 @@ function edit_post_link( $text = null, $before = '', $after = '', $id = 0, $clas
|
||||||
*
|
*
|
||||||
* @since 2.9.0
|
* @since 2.9.0
|
||||||
*
|
*
|
||||||
* @param int $id Optional. Post ID. Default is the ID of the global `$post`.
|
* @param int|WP_Post $id Optional. Post ID or post object. Default is the global `$post`.
|
||||||
* @param string $deprecated Not used.
|
* @param string $deprecated Not used.
|
||||||
* @param bool $force_delete Optional. Whether to bypass trash and force deletion. Default false.
|
* @param bool $force_delete Optional. Whether to bypass trash and force deletion. Default false.
|
||||||
* @return string|void The delete post link URL for the given post.
|
* @return string|void The delete post link URL for the given post.
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
*
|
*
|
||||||
* @global string $wp_version
|
* @global string $wp_version
|
||||||
*/
|
*/
|
||||||
$wp_version = '4.9-alpha-40974';
|
$wp_version = '4.9-alpha-40975';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||||
|
|
Loading…
Reference in New Issue