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ć.
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ć.
Odpowiedzi:
W pętli możesz po prostu użyć the_permalink()
. Poza pętlą możesz użyć get_permalink( $id )
.
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 ! :)