Jak uzyskać bezpośredni link niestandardowego typu postu?

15

Mogę uzyskać bezpośredni link do określonego znacznika postu lub kategorii, ale co, jeśli chcę uzyskać bezpośredni link niestandardowego typu posta? Nie mogę znaleźć niczego w Kodeksie ani nigdzie indziej na temat tego, jak to zrobić.

Tematy przemysłowe
źródło

Odpowiedzi:

23

Co powiesz na to href="<?php echo get_post_type_archive_link( $post_type ); ?>", gdzie $post_typejest twój typ postu?

Dalsza lektura: Kodeks

djb
źródło
5

W pętli możesz po prostu użyć the_permalink(). Poza pętlą możesz użyć get_permalink( $id ).

tollmanz
źródło
To zwraca bezpośredni link do określonego postu lub strony. Chcę zwrócić bezpośredni link typu posta. Na przykład, jeśli istnieje typ postu o nazwie „recenzje filmów”, a bezpośredni link tego typu postu to „www.website.com/movie-reviews”, jak mogę uzyskać ten link bezpośredni? Może technicznie nie jest to prawdą, chcę tylko adres URL tego typu postów.
Motywy przemysłowe,
1

Lub, za co warto, get_term_link($term, $taxonomy);- Kodeks .

cr0z3r
źródło
1

Wiem, że ten post może być stary, ale na wypadek, gdyby ktoś szukał funkcji, która to robi, oto ta, którą napisałem. $ post_type musi zostać przekazany jako zmienna :)

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

Mam nadzieję, że to pomoże ! :)

Stefan KRUGER
źródło