2017-08-17 6 views
-3

J'ai cette fonction ...Comment insérer une séparation de virgules lorsqu'il y a plusieurs valeurs?

/** 
* Just a private function to 
* populate column content 
*/ 
private function lh_user_taxonomies_get_user_taxonomies($user, $taxonomy, $page = null) { 
$terms = wp_get_object_terms($user, $taxonomy); 
    if(empty($terms)) { return false; } 
    $in = array(); 
    foreach($terms as $term) { 
     $href = empty($page) ? add_query_arg(array($taxonomy => $term->slug), admin_url('users.php')) : add_query_arg(array('user-group' => $term->slug), $page); 
     $in[] = sprintf('%s%s%s', '<a href="'.$href.'" title="'.esc_attr($term->description).'">', $term->name, '</a>'); 
    } 
    return implode('', $in); 
} 

Il produit une liste de termes de taxonomie dans WordPress auquel un objet est attaché. Le problème est, comme écrit, que la fonction fait écho les valeurs sans séparation entre plusieurs valeurs, par exemple. "Financial ServicesInformation Technology" dans les ancres HTML.

Je voudrais insérer une logique telle que, lorsqu'il y a plus d'une valeur, la séparation par des virgules et des espaces est utilisée, par ex. "Services financiers, technologie de l'information". Mais, bien sûr, cela ne devrait pas arriver lorsque la valeur est la sortie de la valeur finale.

Comment puis-je modifier cela pour y parvenir?

+6

Selon vous, quel est le premier argument de 'implode()'? – Barmar

Répondre

3

Modifier cette ligne: return implode('', $in);

à ceci: return implode(', ', $in);

Cela devrait les concaténer tous ensemble, mais avec une virgule et un espace entre eux.

+0

Je suis reconnaissant d'en savoir plus sur implode. –

+1

Content de vous aider. Voir http://php.net/manual/en/function.implode.php pour plus d'informations. Vous pouvez faire le contraire aussi! Pour vous amuser essayez d'utiliser 'explode()' pour séparer une chaîne! Encore une fois, vous pouvez choisir sur quoi diviser, que ce soit une virgule et un espace, ou quoi que ce soit! Vous obtiendrez un tableau de retour :-) – delboy1978uk