Как получить постоянную ссылку (permalink) для произвольного типа записи?
Я могу получить постоянную ссылку для конкретного тега записи или категории, но как получить постоянную ссылку для произвольного типа записи? Я не могу найти информацию об этом ни в Кодексе, ни где-либо еще.

Как насчёт href="<?php echo get_post_type_archive_link( $post_type ); ?>"
, где $post_type
— это ваш тип записи?
Дополнительные материалы: Кодекс

Внутри цикла можно просто использовать the_permalink()
. За пределами цикла можно использовать get_permalink( $id )
.

Это возвращает постоянную ссылку конкретной записи или страницы. Я хочу получить постоянную ссылку типа записи. Например, если есть тип записи с названием "обзоры фильмов", и постоянная ссылка этого типа записи "www.website.com/movie-reviews", как мне получить эту ссылку? Возможно, технически это не совсем постоянная ссылка, я просто хочу URL этого типа записи.

Или, если это важно, get_term_link($term, $taxonomy);
- Кодекс.

Я знаю, что этот пост может быть старым, но на случай, если кто-то ищет функцию для этого, вот та, которую я написал. Переменная $post_type должна быть передана в функцию :)
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 );
}
}
Надеюсь, это поможет! :)
