Como obtenho o link permanente de um tipo de postagem personalizado?

15

Posso obter o link permanente de uma tag ou categoria de postagem específica, mas e se eu quiser obter o link permanente de um tipo de postagem personalizado? Não consigo encontrar nada no Codex ou em qualquer outro lugar sobre como fazer isso.

Temas industriais
fonte

Respostas:

21

Que tal href="<?php echo get_post_type_archive_link( $post_type ); ?>", onde $post_typeestá o seu tipo de postagem?

Leitura adicional: Codex

djb
fonte
5

Dentro do loop, você pode simplesmente usar the_permalink(). Fora do loop, você pode usar get_permalink( $id ).

tollmanz
fonte
Isso retorna o link permanente de uma postagem ou página específica. Desejo retornar o link permanente de um tipo de postagem. Assim, por exemplo, se houver um tipo de postagem chamado "resenhas de filmes" e o link permanente desse tipo de postagem for "www.website.com/movie-reviews", como faço para obtê-lo? Talvez este tecnicamente não seja um verdadeiro permalink, apenas quero o URL desse tipo de post.
Temas Industriais
1

Ou, pelo que vale a pena, get_term_link($term, $taxonomy);- Codex .

cr0z3r
fonte
1

Eu sei que este post pode ser antigo, mas, caso alguém esteja pesquisando a função que faz isso, aqui está o que eu escrevi. $ post_type deve ser passado como uma variável :)

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 );
    }
}

Espero que ajude ! :)

Stefan KRUGER
fonte