web-dev-qa-db-fra.com

Lister les termes de taxonomie pour post comme cases à cocher

Je modifie le plugin Wordpress Frontend User pour mon (mes) type (s) de publication personnalisé (s). Ce que je dois modifier, ce sont les termes de taxonomie personnalisés. Pour ce faire, je dois répertorier mes termes en tant qu'étiquettes et associer des cases à cocher (en fin de compte associées à la taxonomie lorsque j'envoie une mise à jour).

Ce que j'ai maintenant est la suivante:

$jobsTerms = get_terms('jobtype',array( 'taxonomy' => 'jobtype' )); 
foreach($jobsTerms as $term){
    echo "<label for='term-" . $term->slug . "'>" . $term->name . "</label>";
    echo "<input type='checkbox' name='term" . $term->slug . "' value='" . $term->name . "' />
}

Mais à part cela, je ne sais plus trop comment vérifier si cette publication a un terme sélectionné (le cas échéant, ajoutez checked=checked à l'entrée).

Je ne sais pas non plus comment mettre à jour cette taxonomie lorsque je clique sur Soumettre (ce qui déclenche un couple d'appels update_post_meta personnalisés et un appel wp_update_post.

De l'aide?

1
Josh Allen

Essaye ça:

$jobsTerms = get_terms('jobtype',array( 'taxonomy' => 'jobtype' )); 
foreach($jobsTerms as $term){
    $checked = (has_term($term->slug, 'jobtype', $post->ID)) ? 'checked="checked"' : '';
    echo "<label for='term-" . $term->slug . "'>" . $term->name . "</label>";
    echo "<input type='checkbox' name='term" . $term->slug . "' value='" . $term->name . "' $checked />";
}

Remplacez $ post_id par tout ce dont vous avez besoin pour obtenir l'ID. Je ne sais pas exactement où va exactement ce code. Cela peut être $ post-> ID.

1
Devin Humbert