为什么wp_GET_OBJECT_TERMS会在术语输出后添加句点?

时间:2011-02-11 作者:Travis Northcutt

我使用下面的一行输出自定义帖子类型的无序分类法列表及其相关术语。唯一的问题是在期限之后加上句点。

wp_get_object_terms( $id, the_taxonomies( \'before=<ul><li>&sep=</li><li>&after=</li></ul>\' ) );
以下是它的输出:

<ul><li>Taxname: <a href=\'http://site.com/taxname/taxterm/\'>Taxterm</a>.</li></ul>
有什么我可以补充的论点吗wp_get_object_terms 删除句点?

1 个回复
最合适的回答,由SO网友:scribu 整理而成

wp\\u get\\u object\\u terms()不是问题所在。\\u taxonomies()正在进行输出;它不会返回任何内容。

因此,您的代码等效于:

the_taxonomies( \'before=<ul><li>&sep=</li><li>&after=</li></ul>\' );
wp_get_object_terms( $id, null );
现在,如果您转到wp includes/taxonomy。php您将在\\u taxonomies()源代码中找到点。

要删除点,需要添加过滤器:

function remove_the_dot($template) {
  return \'%s: %l\';
}
add_filter(\'taxonomy_template\', \'remove_the_dot\');
如果你想知道,是的,这是一种不良的做事方式。

在WP 3.1中,只需将模板作为参数传递即可修改模板:

the_taxonomies( array(
  \'before\' => \'<ul><li>\',
  \'sep\' => \'</li><li>\',
  \'after\' => \'</li></ul>\',
  \'template\' => \'%s: %l\'
) );

结束