Bagaimana cara saya mendapatkan tautan permanen dari jenis posting khusus?

15

Saya bisa mendapatkan tautan permanen dari tag atau kategori posting tertentu, tetapi bagaimana jika saya ingin mendapatkan tautan permanen dari jenis posting khusus? Saya tidak dapat menemukan apa pun di Codex atau di mana pun tentang cara melakukan ini.

Tema Industri
sumber

Jawaban:

21

Bagaimana tentang href="<?php echo get_post_type_archive_link( $post_type ); ?>" , di mana $post_typejenis posting Anda?

Bacaan lebih lanjut: Codex

djb
sumber
5

Dalam loop, Anda cukup menggunakan the_permalink(). Di luar loop, Anda bisa menggunakan get_permalink( $id ).

tollmanz
sumber
Itu mengembalikan tautan permanen dari posting atau halaman tertentu. Saya ingin mengembalikan tautan permanen jenis posting. Jadi, misalnya, jika ada jenis posting yang disebut "ulasan film", dan permalink dari jenis posting itu adalah "www.website.com/movie-reviews", bagaimana cara mendapatkan permalink itu? Mungkin ini bukan permalink yang benar secara teknis, saya hanya ingin URL jenis posting itu.
Tema Industri
1

Atau, untuk apa nilainya, get_term_link($term, $taxonomy);- Codex .

cr0z3r
sumber
1

Saya tahu posting ini mungkin sudah tua tetapi kalau-kalau ada orang lain yang mencari fungsi yang melakukan ini, inilah yang saya tulis. $ post_type harus dikirimkan sebagai variabel :)

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

Semoga ini bisa membantu! :)

Stefan KRUGER
sumber