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. |