描述:
获取某个文章类型的文章列表页链接
用法:
<?php get_post_type_archive_link( $post_type ); ?>
参数:
$post_type
(string) (必填) 自定文章类型的name
默认值: None
示例:
<a href="<?php echo get_post_type_archive_link( 'movies' ); ?>">Movies Archive</a>
源文件:
/**
* Retrieve the permalink for a post type archive.
*
* @since 3.1.0
*
* @global WP_Rewrite $wp_rewrite
*
* @param string $post_type Post type
* @return string|false The post type archive permalink.
*/
function get_post_type_archive_link( $post_type ) {
global $wp_rewrite;
if ( ! $post_type_obj = get_post_type_object( $post_type ) )
return false;
if ( ! $post_type_obj->has_archive )
return false;
if ( get_option( 'permalink_structure' ) && is_array( $post_type_obj->rewrite ) ) {
$struct = ( true === $post_type_obj->has_archive ) ? $post_type_obj->rewrite['slug'] : $post_type_obj->has_archive;
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 );
}
/**
* Filter the post type archive permalink.
*
* @since 3.1.0
*
* @param string $link The post type archive permalink.
* @param string $post_type Post type name.
*/
return apply_filters( 'post_type_archive_link', $link, $post_type );
}