删除帖子列表页面上列的排序选项

时间:2016-09-28 作者:Kiran Dash

默认情况下,WordPress管理区域中帖子/页面/自定义帖子类型页面上的标题列是可排序的。

如何禁用排序选项?

enter image description here

我认为这个问题很清楚,但只是稍微延伸一下。

我正在自定义管理区域中的自定义帖子类型页面。

My code:

add_filter( \'manage_sponsor_posts_columns\', \'kiran_set_columns\' );

function kiran_set_columns( $columns ) {
    $newColumns = array();
    $newColumns[\'title\'] = \'Sponsor\';
    return $newColumns;
}
我不希望标题列提供排序功能。

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

过滤器挂钩manage_edit-post_sortable_columns 包含所有可排序的列。因此,您可以挂接到此筛选器并取消设置title:

<?php

add_filter( \'manage_edit-post_sortable_columns\', \'wse_240787\' );
function wse_240787( $col ) {
    unset( $col[\'title\'] );
    return $col;
}
该过滤器记录在wp admin/includes/class wp list表格中。php:

  /**
     * Filters the list table sortable columns for a specific screen.
     *
     * The dynamic portion of the hook name, `$this->screen->id`, refers
     * to the ID of the current screen, usually a string.
     *
     * @since 3.5.0
     *
     * @param array $sortable_columns An array of sortable columns.
     */
$_sortable = apply_filters( "manage_{$this->screen->id}_sortable_columns", $sortable_columns );
因为我们当前的屏幕Id是edit-post 过滤器为manage_edit-post_sortable_columns.

如果您使用的是自定义帖子类型,屏幕ID将更改为edit-{$cpt_slug}. 例如,对于页面edit-page. 如果您的CPT是赞助商,那么edit-sponsor. (感谢@bravokeyl指出这一点)。

相关推荐

在管理员帖子wp-list-table之前/之后添加内容

我知道有两个钩子可以在分类法wp列表前后添加内容。是否有操作可在编辑上的post type wp list表格后添加内容。php页面?$taxonomy列表:add_action( \'category\' . \'_pre_add_form\', \'copy_above_form\' ); function copy_above_form( $taxonomy ) { echo \'<p>Above the WP-List-Table</p>\';&#x