如何在WordPress插件选项页展示custom_tax自定义分类为下拉框?
用
wp_dropdown_categories() 实现自定义分类术语下拉框 嘿,你完全不用找其他函数!wp_dropdown_categories() 本身就支持精准指定要展示的分类法,刚好能满足你只显示 custom_tax 自定义分类术语的需求,只需要传对参数就行。
核心实现代码
在你的插件选项页的输出逻辑里,直接调用这个函数并设置 taxonomy 参数为你的自定义分类slug:
<?php // 输出custom_tax分类的术语下拉框 wp_dropdown_categories( array( // 关键参数:指定要展示的自定义分类 'taxonomy' => 'custom_tax', // 是否隐藏没有关联文章的术语,false=显示所有术语 'hide_empty' => false, // 下拉框的name属性,表单提交后用这个key获取选中值 'name' => 'selected_custom_term', // 默认提示选项的文本 'show_option_none' => '请选择一个术语', // 可选:回显之前保存的选中值(如果你的插件需要记住用户选择) 'selected' => get_option( 'your_plugin_selected_term', '' ), ) ); ?>
参数说明
taxonomy:这是最核心的参数,填你的自定义分类的slug(也就是你注册分类时用的$taxonomy值),设置后函数就只会拉取这个分类下的术语,完全不会显示默认的category分类内容。hide_empty:如果设为true,只会显示至少关联一篇文章的术语;设为false则显示所有术语,按需调整即可。selected:如果你的插件需要保存用户的选择,用get_option()读取之前保存的值,就能在页面加载时自动选中用户之前选的术语。
补充:保存选中的术语
如果需要把用户的选择保存到数据库,在表单提交处理逻辑里加上这段(记得做安全验证):
if ( isset( $_POST['selected_custom_term'] ) && current_user_can( 'manage_options' ) ) { // 安全处理输入值 $selected_term = sanitize_text_field( $_POST['selected_custom_term'] ); // 保存到选项表 update_option( 'your_plugin_selected_term', $selected_term ); }
这样就能完美实现你要的功能啦,完全不用额外找其他函数~
内容的提问来源于stack exchange,提问作者wr-98
相关产品推荐
相关产品推荐

