Switch language

wpseek.com
A WordPress-centric search engine for devs and theme authors




get_post_permalink [ WordPress 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.
Returns:
  • (string)
Defined at:



Retrieve the permalink for a post with a custom post type.

Source


<?php
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_urluser_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);
}
?>

Examples [ wp-snippets.com ]

Top Google zoekresultaten

Meer ...

Gebruikersdiscussies [ wordpress.org ]

0 User Note(s)

Nog geen één. Wees de eerste!

Nieuw toevoegen ...



HTML5 Powered with CSS3 / Styling, Performance & Integration, and Semantics