函数文档

wxr_post_taxonomy()

💡 云策文档标注

概述

wxr_post_taxonomy() 是一个 WordPress 函数,用于输出与文章关联的分类法术语列表,格式化为 XML 标签。它主要用于 WXR 导出功能中生成文章的分类信息。

关键要点

  • 函数输出文章的分类法术语,以 XML 标签格式呈现,适用于 WXR 导出文件。
  • 内部使用 get_post() 获取当前文章,get_object_taxonomies() 获取文章类型对应的分类法,wp_get_object_terms() 获取关联的术语。
  • 通过循环遍历术语,输出格式如:<category domain="taxonomy" nicename="slug">术语名称</category>,其中术语名称用 wxr_cdata() 包装。
  • 如果文章类型没有分类法或没有关联术语,函数会提前返回,不输出任何内容。

代码示例

function wxr_post_taxonomy() {
    $post = get_post();

    $taxonomies = get_object_taxonomies( $post->post_type );
    if ( empty( $taxonomies ) ) {
        return;
    }
    $terms = wp_get_object_terms( $post->ID, $taxonomies );

    foreach ( (array) $terms as $term ) {
        echo "tt<category domain="{$term->taxonomy}" nicename="{$term->slug}">" . wxr_cdata( $term->name ) . "</category>n";
    }
}

注意事项

  • 此函数主要用于 export_wp() 函数中生成 WXR 导出文件,开发者不应直接调用,除非在自定义导出逻辑中。
  • 输出格式严格遵循 WXR 规范,确保与其他 WordPress 系统的兼容性。
  • 函数自 WordPress 2.3.0 版本引入,保持向后兼容。

📄 原文内容

Outputs list of taxonomy terms, in XML tag format, associated with a post.

Source

function wxr_post_taxonomy() {
	$post = get_post();

	$taxonomies = get_object_taxonomies( $post->post_type );
	if ( empty( $taxonomies ) ) {
		return;
	}
	$terms = wp_get_object_terms( $post->ID, $taxonomies );

	foreach ( (array) $terms as $term ) {
		echo "tt<category domain="{$term->taxonomy}" nicename="{$term->slug}">" . wxr_cdata( $term->name ) . "</category>n";
	}
}

Changelog

Version Description
2.3.0 Introduced.