管理仪表板中的页面类别过滤器

时间:2021-08-25 作者:Gidromasservis QSC

我由此创建了页面类别way (或在ACF扩展插件的帮助下自定义分类法)。它起作用了。现在我可以将页面添加到类别中。我的问题是,我无法在管理仪表板中按类别筛选页面。enter image description here

1 个回复
最合适的回答,由SO网友:Pierre R 整理而成

您在图像上显示的是帖子状态,而不是分类法。

但是已经存在一个过滤器来执行您想要的操作。去你写类别的地方,右边必须是数字。它是每个类别中post\\u类型的数量。单击该数字,您将看到已单击类别的页面。

如果确实要添加筛选器,可以添加select (例如)您将使用挂钩编写restrict_manage_posts

<?php 
function display_select_filter() {
    global $post_type;
    if ($post_type == \'my-custom-post-type\') { // must change post_type to yours
        $taxonomy = \'custom-tax\'; // must change taxonomy to yours
        $terms = get_terms([\'taxonomy\' => $taxonomy, \'hide_empty\' => false]);
        ?>
        <label class="screen-reader-text" for="<?= $taxonomy; ?>_filter"><?= esc_html__("Category", \'my-domain\'); ?></label>
        <select name="<?= $taxonomy; ?>" id="<?= $taxonomy; ?>_filter">
            <option value=""><?php _e("All categories", \'my-domain\'); ?></option>
            <?php foreach ($terms as $k => $v): ?>
                <?php $selected = (!empty($_GET[$taxonomy]) && $_GET[$taxonomy] === $v->slug) ? \' selected="selected"\' : \'\'; ?>
                <option value="<?= $v->slug; ?>"<?= $selected; ?>><?= $v->name; ?></option>
            <?php endforeach; ?>
        </select>
        <?php
    }
}

add_action(\'restrict_manage_posts\', \'display_select_filter\');
正常工作;你必须更换my-custom-post-type 使用post\\u类型的slug和custom-tax 按分类法的名称。

相关推荐

Permalinks for pages

为什么我不能为我的pages? 我有一个4层结构,家用解决方案机械钢所以我希望我的URL结构是www.domein.com/solutions/machines/steel 但我在哪里可以做到这一点??我在4层结构中进行了所有分类。但在permalinks编辑器中,我只能选择帖子或产品。。。我觉得奇怪,我不能对我的页面做同样的事情。。。我希望这是有意义的,有人可以帮助我,谢谢!