在WordPress中,可以使用管理中的复选框来在下拉菜单(dropdown)中显示WP标签。下面是一种实现方法:
function wp_dropdown_tags_with_checkbox( $args = '' ) {
$defaults = array(
'show_option_all' => '',
'show_option_none' => '',
'orderby' => 'name',
'order' => 'ASC',
'show_count' => 0,
'hide_empty' => 1,
'child_of' => 0,
'exclude' => '',
'echo' => 1,
'selected' => 0,
'hierarchical' => 0,
'name' => 'tag',
'id' => '',
'class' => '',
'depth' => 0,
'tab_index' => 0,
'taxonomy' => 'post_tag',
'hide_if_empty' => false,
'value_field' => 'term_id',
);
$r = wp_parse_args( $args, $defaults );
$tags = get_terms( $r['taxonomy'], $r );
if ( ! $tags ) {
return '';
}
$name = esc_attr( $r['name'] );
$id = $r['id'] ? esc_attr( $r['id'] ) : $name;
$class = $r['class'] ? ' ' . esc_attr( $r['class'] ) : '';
$tab_index = $r['tab_index'] ? ' tabindex="' . esc_attr( $r['tab_index'] ) . '"' : '';
$dropdown = "<select name='{$name}[]' id='{$id}' class='wpse-dropdown{$class}' multiple='multiple'{$tab_index}>";
$dropdown .= '<option value="">' . esc_html( $r['show_option_all'] ) . '</option>';
if ( ! empty( $r['show_option_none'] ) ) {
$selected = selected( in_array( '0', (array) $r['selected'], true ), true, false );
$dropdown .= "<option value='0'{$selected}>" . esc_html( $r['show_option_none'] ) . '</option>';
}
$name = esc_attr( $name );
$id = $r['id'] ? esc_attr( $r['id'] ) : $name;
$class = $r['class'] ? ' ' . esc_attr( $r['class'] ) : '';
$tab_index = $r['tab_index'] ? ' tabindex="' . esc_attr( $r['tab_index'] ) . '"' : '';
foreach ( $tags as $tag ) {
$term_id = $tag->term_id;
$name = esc_attr( $r['name'] );
$selected = selected( in_array( strval( $term_id ), (array) $r['selected'], true ), true, false );
$dropdown .= "<option value='{$term_id}'{$selected}>" . esc_html( $tag->name ) . '</option>';
}
$dropdown .= '</select>';
if ( $r['echo'] ) {
echo $dropdown;
}
return $dropdown;
}
$args = array(
'taxonomy' => 'post_tag',
'name' => 'wp_tags',
'id' => 'wp_tags',
'show_option_all' => 'All Tags',
'selected' => array( 1, 2, 3 ), // 选中的标签ID
);
wp_dropdown_tags_with_checkbox( $args );
以上代码将在下拉菜单中显示所有的WP标签,并且可以选择多个标签。你可以根据需要修改参数来自定义下拉菜单的外观和功能。
注意:以上代码仅适用于WordPress,并且假设你已经在WordPress中安装并启用了标签(post_tag)分类法。
领取专属 10元无门槛券
手把手带您无忧上云