Definition:
function get_post_permalink( $id = 0, $leavename = false, $sample = false ) {}
Parameters
- int $id: Optional. Post ID.
- bool $leavename: Optional, defaults to false. Whether to keep post name.
- bool $sample: Optional, defaults to false. Is it a sample permalink.
Defined filters
- post_type_link
apply_filters('post_type_link', $post_link, $post, $leavename, $sample)
Source code
function get_post_permalink( $id = 0, $leavename = false, $sample = false ) {
global $wp_rewrite;
$post = &get_post($id);
if ( is_wp_error( $post ) )
return $post;
$post_link = $wp_rewrite->get_extra_permastruct($post->post_type);
$slug = $post->post_name;
$draft_or_pending = isset($post->post_status) && in_array( $post->post_status, array( 'draft', 'pending', 'auto-draft' ) );
$post_type = get_post_type_object($post->post_type);
if ( !empty($post_link) && ( !$draft_or_pending || $sample ) ) {
if ( ! $leavename ) {
if ( $post_type->hierarchical )
$slug = get_page_uri($id);
$post_link = str_replace("%$post->post_type%", $slug, $post_link);
}
$post_link = home_url( user_trailingslashit($post_link) );
} else {
if ( $post_type->query_var && ( isset($post->post_status) && !$draft_or_pending ) )
$post_link = add_query_arg($post_type->query_var, $slug, '');
else
$post_link = add_query_arg(array('post_type' => $post->post_type, 'p' => $post->ID), '');
$post_link = home_url($post_link);
}
return apply_filters('post_type_link', $post_link, $post, $leavename, $sample);
}
1603

February 12, 2011 


get_post_reply_link
Definition:
function get_post_reply_link($args = array() {}
Parameters
Return values
returns:Link to show comment form, if successful. False, if comments are closed.
Defined filters
apply_filters('post_comments_link', $before . $link . $after, $post)Source code
function get_post_reply_link($args = array(), $post = null) { global $user_ID; $defaults = array('add_below' => 'post', 'respond_id' => 'respond', 'reply_text' => __('Leave a Comment'), 'login_text' => __('Log in to leave a Comment'), 'before' => '', 'after' => ''); $args = wp_parse_args($args, $defaults); extract($args, EXTR_SKIP); $post = get_post($post); if ( !comments_open($post->ID) ) return false; if ( get_option('comment_registration') && !$user_ID ) { $link = '<a rel="nofollow" href="' . wp_login_url( get_permalink() ) . '">' . $login_text . '</a>'; } else { $link = "<a rel='nofollow' class='comment-reply-link' href='" . get_permalink($post->ID) . "#$respond_id' onclick='return addComment.moveForm(\"$add_below-$post->ID\", \"0\", \"$respond_id\", \"$post->ID\")'>$reply_text</a>"; } return apply_filters('post_comments_link', $before . $link . $after, $post); }1605