study

学习文章

zw-1988.com

home > 学习文章 > 自定义后台检索

2023.2.14 自定义后台检索

/*adding-a-taxonomy-filter-to-admin-list-for-a-custom-post-type*/
function todo_restrict_manage_posts()
{
    global $typenow;
    $args = array('public' => true, '_builtin' => false);
    $post_types = get_post_types($args);
    if (in_array($typenow, $post_types)) {
        $filters = get_object_taxonomies($typenow);
        foreach ($filters as $tax_slug) {
            $tax_obj = get_taxonomy($tax_slug);
            wp_dropdown_categories(array(
                'show_option_all' => __('Show All ' . $tax_obj->label),
                'taxonomy' => $tax_slug,
                'name' => $tax_obj->name,
                'orderby' => 'term_order',
                //'selected' => $_GET[$tax_obj->query_var],
                'hierarchical' => $tax_obj->hierarchical,
                'show_count' => false,
                'hide_if_empty' => true
            ));
        }
    }
}


function todo_convert_restrict($query)
{
    global $pagenow;
    global $typenow;
    if ($pagenow == 'edit.php') {
        $filters = get_object_taxonomies($typenow);
        foreach ($filters as $tax_slug) {
            $var = &$query->query_vars[$tax_slug];
            if (isset($var)) {
                $term = get_term_by('id', $var, $tax_slug);
               $var = !empty($term->slug) ? $term->slug : '';
            }
        }
    }
    return $query;
}
add_action('restrict_manage_posts', 'todo_restrict_manage_posts');
add_filter('parse_query', 'todo_convert_restrict');

wordpress创建分类目录下拉表单函数:wp_dropdown_categories

函数

wp_dropdown_categories( $args );

描述

显示一个目录下拉选择表单元素,函数直接返回html内容。

参数 $args

$args = [
'show_option_all' => '',
'show_option_none' => '',
'option_none_value' => '-1',
'orderby' => 'ID',
'order' => 'ASC',
'show_count' => 0,
'hide_empty' => 1,
'child_of' => 0,
'exclude' => '',
'echo' => 1,
'selected' => 0,
'hierarchical' => 0,
'name' => 'cat',
'id' => '',
'class' => 'postform',
'depth' => 0,
'tab_index' => 0,
'taxonomy' => 'category',
'hide_if_empty' => false,
'value_field' => 'term_id',
];

参数详情

参数数据类型描述默认值
show_option_all字符串显示 ‘所有分类目录’ 选项的文本,下拉选项默认显示为 ‘所有分类目录
show_option_none字符串在下拉选择表单的顶部创建一个附加的
option_none_value字符串选择分类的选项值-1
orderby字符串用来给分类排序的数据列名称,可用的值为 ‘ID’, ‘name’ 与 ‘slug’ID
order字符串分类的排序方式,可用的值为 ‘ASC’ 和 ‘DESC’ASC
pad_counts布尔值有关参数说明,请参见get_terms()false
show_count布尔值|整数是否包含分类中的文章数量,接受的值为0、1或对应的布尔值0
echo布尔值|整数直接显示或返回生成的HTML,接受的值为0、1或对应的布尔值0
hierarchical布尔值|整数是否显示为分层结构,接受的值为0、1或对应的布尔值0
depth整数最大深度0
tab_index整数选择元素的制表符索引顺序0
name字符串选择元素的「name」属性cat
id字符串选择元素的「id」属性cat
class字符串选择元素的「class」属性postform
selected整数|字符串默认选择中选项0
value_field字符串用于填充选项的分类字段,可以值有:’term_id’, ‘name’, ‘slug’, ‘term_group’, ‘term_taxonomy_id’, ‘taxonomy’, ‘description’, ‘parent’, ‘count’。term_id
taxonomy字符串获取数据的分类法名称category
hide_if_empty布尔值没有数据时,是否隐藏选择元素false
required布尔值是否包含HTML5的「require」属性false
«
相关文章
wordpress (25)java script (9)tool (8)css (2)攻略 (1)第一次人体 (1)插件 (1)ECharts (1)food (1)雪糕 (1)动画 (1)book (1)标签云 (1)生活 (1)一言难尽的画稿 (1)
辽ICP备16002031号

Copyright © 2016 - 2020 1988-zw.com