Admin multiple column sorting

时间:2019-03-13 作者:Mark

这个问题似乎很简单,我很惊讶我在搜索谷歌时没有找到太多答案。到目前为止,我只找到了一个pro插件。

我只想能够在管理区域中按多个列进行排序。例如,在页面部分,有三列:标题、作者和日期。我需要做些什么来按作者排序,然后对第一个作者,按标题按字母顺序排列他们的所有页面(这是假设作者已经可以自己排序,使用类似manage\\u edit-page\\u sortable\\u columns过滤器的东西)?

我更喜欢用函数中的代码来实现这一点。php文件,而不是插件,但任何东西都很好。

1 个回复
SO网友:jsmod

由于WordPress已经允许按字母顺序(升序或降序)对页面标题进行排序,因此实际上只需要添加一个作者过滤器。

这可以通过将以下内容添加到functions.php 活动主题的文件:

function rudr_filter_by_the_author() {
    $params = array(
        \'name\' => \'author\', // this is the "name" attribute for filter <select>
        \'show_option_all\' => \'All authors\' // label for all authors (display posts without filter)
    );

    if ( isset($_GET[\'user\']) )
        $params[\'selected\'] = $_GET[\'user\']; // choose selected user by $_GET variable

    wp_dropdown_users( $params ); // print the ready author list
}

add_action(\'restrict_manage_posts\', \'rudr_filter_by_the_author\');
我在找到上面的代码片段Misha Rudrastyh\'s website 并在我自己的WordPress管理区进行了测试,没有出现任何问题。

它所做的只是在管理区的帖子和页面部分添加一个作者过滤器。然后,您可以按作者筛选帖子/页面,然后按标题(或日期)按升序/降序进行排序。

但请记住functions.php 您的主题的属性表示此功能仅在该主题保持活动状态时可用。如果这对您来说是个问题,只需将此代码片段制作成您自己的插件,以便在需要时激活/停用。

因此,要将其转换为可用于任何主题的插件,请将以下内容保存到名为admin-area-author-filter.php 然后上传到你的WordPressplugin 目录:

<?php

/*
Plugin Name: Admin Area Author Filter
Description: Adds an author filter to the posts and pages sections of the admin area. Snippet taken from: https://rudrastyh.com/wordpress/filter-posts-by-author.html
*/

function rudr_filter_by_the_author() {
    $params = array(
        \'name\' => \'author\', // this is the "name" attribute for filter <select>
        \'show_option_all\' => \'All authors\' // label for all authors (display posts without filter)
    );

    if ( isset($_GET[\'user\']) )
        $params[\'selected\'] = $_GET[\'user\']; // choose selected user by $_GET variable

    wp_dropdown_users( $params ); // print the ready author list
}

add_action(\'restrict_manage_posts\', \'rudr_filter_by_the_author\');

?>
然后激活它,你就可以开始了。

顺便说一下,谢谢你提出这个问题。这让我好奇,现在我在我的管理区也有了一个方便的作者过滤器。我很惊讶这并不像帖子区域中的类别过滤器那样是一个核心功能。这非常有用,再次感谢您提醒我注意这个问题。