Cum obțin permalink-ul unui tip de postare personalizat?

25 oct. 2011, 05:26:22
Vizualizări: 62.8K
Voturi: 20

Pot obține permalink-ul pentru o etichetă sau categorie specifică, dar ce se întâmplă dacă vreau să obțin permalink-ul unui tip de postare personalizat? Nu pot găsi nimic în Codex sau în altă parte despre cum să fac acest lucru.

0
Toate răspunsurile la întrebare 5
1
32

Cum ar fi href="<?php echo get_post_type_archive_link( $post_type ); ?>", unde $post_type reprezintă tipul tău de postare?

Lectură suplimentară: Codex

1 dec. 2011 20:34:45
Comentarii

Mică îmbunătățire; <?php echo get_post_type_archive_link( $post->post_type ); ?>

Folosirea $post->post_type în loc de $post_type oferă slug-ul direct.

rwzdoorn rwzdoorn
19 apr. 2022 16:40:36
1

În cadrul buclei, puteți folosi simplu the_permalink(). În afara buclei, puteți utiliza get_permalink( $id ).

25 oct. 2011 05:44:38
Comentarii

Aceasta returnează legătura permanentă a unui articol sau pagină specifică. Eu doresc să returnez legătura permanentă a unui tip de postare. De exemplu, dacă există un tip de postare numit "recenzii de filme", iar legătura permanentă a acelui tip de postare este "www.website.com/movie-reviews", cum pot obține acea legătură? Poate că din punct de vedere tehnic aceasta nu este o adevărată legătură permanentă, eu doresc doar URL-ul acelui tip de postare.

Industrial Themes Industrial Themes
25 oct. 2011 15:48:59
0

Sau, pentru ceea ce merită, get_term_link($term, $taxonomy); - Codex.

1 dec. 2011 22:56:11
0

Știu că acest articol poate fi vechi, dar în caz că cineva caută funcția care face asta, iată ce am scris eu. Variabila $post_type trebuie transmisă:

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

Sper că vă ajută! :)

30 iul. 2012 13:29:26
0

@Stefan KRUGER

sunt curios de ce valoarea este transmisă prin referință: &$post_type

pe lângă: nu înțeleg de ce pot furniza un răspuns, ceea ce nu este cazul aici, dar NU un comentariu, care ar fi mai potrivit. asta pare inversat.

25 aug. 2023 03:02:43