De ce wp_get_object_terms adaugă un punct după afișarea termenilor?
Folosesc următoarea linie de cod pentru a afișa o listă neordonată de taxonomii și termenii asociați pentru un tip personalizat de postare. Singura problemă este că se adaugă un punct după fiecare termen.
wp_get_object_terms( $id, the_taxonomies( 'before=<ul><li>&sep=</li><li>&after=</li></ul>' ) );
Iată ce afișează:
<ul><li>NumeTaxonomie: <a href='http://site.com/taxname/taxterm/'>TermenTaxonomie</a>.</li></ul>
Există vreun argument pe care îl pot adăuga la wp_get_object_terms
pentru a elimina punctul?
wp_get_object_terms() nu este problema. the_taxonomies() este cel care face afișarea; nu returnează nimic.
Deci, codul tău este echivalent cu:
the_taxonomies( 'before=<ul><li>&sep=</li><li>&after=</li></ul>' );
wp_get_object_terms( $id, null );
Acum, dacă te duci în wp-includes/taxonomy.php vei găsi punctul în codul sursă al the_taxonomies().
Pentru a elimina punctul, trebuie să adaugi un filtru:
function remove_the_dot($template) {
return '%s: %l';
}
add_filter('taxonomy_template', 'remove_the_dot');
În caz că te întrebi, da, acesta este un mod ciudat de a face lucrurile.
În WP 3.1, poți modifica șablonul pur și simplu prin transmiterea lui ca parametru:
the_taxonomies( array(
'before' => '<ul><li>',
'sep' => '</li><li>',
'after' => '</li></ul>',
'template' => '%s: %l'
) );

Mulțumesc. Presupun că această linie (din get_the_taxonomies
) o cauzează? $template = apply_filters('taxonomy_template', '%s: %l.');
Dacă da, există o metodă bună de a face asta și de a evita punctele?
