web-dev-qa-db-ja.com

チェックボックスとして投稿の分類用語を一覧表示する

カスタム投稿タイプのプラグインWordpress Frontend Userを修正しています。編集する必要があるのは、カスタム分類法の用語です。これを行うには、自分の用語をラベルとしてリストし、ラベルに関連付けられたチェックボックスを持つ必要があります(最後に、投稿の更新を送信するときに分類に関連付けられます)。

私が今持っているものは以下の通りです:

$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 . "' />
}

しかし、それ以外に、その投稿に選択された用語があるかどうかを確認する方法についてはわからなくなりました(そうであれば入力にchecked=checkedを追加してください)。

[送信]をクリックしたときにこの分類法を更新する方法についてもわかりません(カスタムのupdate_post_meta呼び出しとwp_update_post呼び出しが2回起動されます)。

何か手助け?

1
Josh Allen

これを試して:

$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 />";
}

$ post_idをIDを取得するために必要なものに置き換えてください。正確にこのコードがどこに行くのか私にはわかりません。それは$ post-> IDかもしれません。

1
Devin Humbert