/**
- ブログカテゴリー:チェックボックスを出力
* - @return string
**/
function blogTaxCheckbox(): string
{
$output = '';
$args = [
'hide_empty' => false,
];
$terms = get_terms('blog_cat', $args);
if (is_wp_error($terms) || !$terms) return ''; // ここでGETパラメータを取得し、サニタイズ
$selected_cats = isset($_GET['blog_search']) ? $_GET['blog_search'] : null;
$selected_cats = is_array($selected_cats) ? array_map('sanitize_text_field', $selected_cats) : sanitize_text_field($selected_cats); foreach ($terms as $term) {
// チェックボックスの値と一致するかチェック
$checked = is_array($selected_cats) && in_array($term->term_id, $selected_cats) ? 'checked' : '';$output .= ' <span class="mwform-checkbox-field horizontal-item"> <label> <input type="checkbox" name="blog_search[]" value="' . $term->term_id . '" ' . $checked . '> <span class="mwform-checkbox-field-text">' . esc_html($term->name) . '</span> </label> </span> ';
}
return $output;
}