1. 首页
  2. WordPress 函数手册

get_post_type_archive_link()

get_post_type_archive_link( string $post_type )

检索post类型存档的permalink。
Retrieves the permalink for a post type archive.

目录锚点:#参数#返回#源码#笔记


参数(Parameters)

参数 类型 必填 说明
$post_type (string) 必需 岗位类型。

返回(Return)

(string|false)post类型的存档永久链接。


源码(Source)

/**
 * 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 );
}
更新版本 源码位置 使用 被使用
4.5.0 wp-includes/link-template.php:1213 7 8

笔记(Notes)

如果get_post_type_archive_link()不起作用或返回false,请在注册post类型时再次检查是否包含参数has_archive=>true。
例子

get_post_type_archive_link() 为WP2原创文章,链接:https://www.wp2.cn/functions/get_post_type_archive_link/

发表评论

您的电子邮箱地址不会被公开。