How do I get the permalink of a custom post type?

I can get the permalink of a specific post tag or category, but what if I want to get the permalink of a custom post type? I can’t find anything in the Codex or anywhere else about how to do this.

Related posts

Leave a Reply

4 comments

  1. I know this post might be old but just in case someone else is searching the function that does this, here’s the one i wrote. $post_type must be passed as a variable 🙂

    if( !function_exists( 'wp_get_post_type_link' )  ){
        function wp_get_post_type_link( &$post_type ){
    
            global $wp_rewrite; 
    
            if ( ! $post_type_obj = get_post_type_object( $post_type ) )
                return false;
    
            if ( get_option( 'permalink_structure' ) && is_array( $post_type_obj->rewrite ) ) {
    
                $struct = $post_type_obj->rewrite['slug'] ;
                if ( $post_type_obj->rewrite['with_front'] )
                    $struct = $wp_rewrite->front . $struct;
                else
                    $struct = $wp_rewrite->root . $struct;
    
                $link = home_url( user_trailingslashit( $struct, 'post_type_archive' ) );       
    
            } else {
                $link = home_url( '?post_type=' . $post_type );
            }
    
            return apply_filters( 'the_permalink', $link );
        }
    }
    

    Hope it helps ! 🙂