按修改日期排序在帖子中工作,但不在页面中工作

时间:2015-10-14 作者:TecBrat

我在找到以下代码bytefreaks.net. 它添加了一个可排序的列进行编辑。php,但该列仅显示在帖子上,而不显示在页面上(…?post\\u type=page)

bytefreaks建议将其放入函数中。但是我想避免更新问题,所以我安装了“我的自定义函数”插件并将代码放在那里。

我对WordPress了解不够,无法完全理解每个函数。有谁能告诉我,我需要做什么才能使这段代码既适用于页面,也适用于帖子?

// Register the column
function post_modified_column_register( $columns ) {
    $columns[\'post_modified\'] = __( \'Modified\', \'mytextdomain\' );
    return $columns;
}
add_filter( \'manage_edit-post_columns\', \'post_modified_column_register\' );

// Display the column content
function post_modified_column_display( $column_name, $post_id ) {
    if ( \'post_modified\' != $column_name ){
        return;
    }
    $post_modified = get_post_field(\'post_modified\', $post_id);
    if ( !$post_modified ){
        $post_modified = \'\' . __( \'undefined\', \'mytextdomain\' ) . \'\';
    }
    echo $post_modified;
}
add_action( \'manage_posts_custom_column\', \'post_modified_column_display\', 10, 2 );

// Register the column as sortable
function post_modified_column_register_sortable( $columns ) {
    $columns[\'post_modified\'] = \'post_modified\';
    return $columns;
}
add_filter( \'manage_edit-post_sortable_columns\', \'post_modified_column_register_sortable\' );

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

查看插件API/过滤器参考的文档

看起来您需要为manage\\u pages\\u custom\\u columns/manage\\u edit-page\\u columns等复制操作和筛选器。公平警告:我尚未对此进行审查。

见下文

https://codex.wordpress.org/Plugin_API/Filter_Reference/manage_edit-post_type_columnshttps://codex.wordpress.org/Plugin_API/Action_Reference/manage_pages_custom_column

下面是有效的结果代码:

// Custom Functions to add SORT BY MODIFIED to post and page editor.
// POSTS
// Register the column
function post_modified_column_register( $columns ) {
    $columns[\'post_modified\'] = __( \'Modified\', \'mytextdomain\' );
    return $columns;
}
add_filter( \'manage_edit-post_columns\', \'post_modified_column_register\' );

// Display the column content
function post_modified_column_display( $column_name, $post_id ) {
    if ( \'post_modified\' != $column_name ){
        return;
    }
    $post_modified = get_post_field(\'post_modified\', $post_id);
    if ( !$post_modified ){
        $post_modified = \'\' . __( \'undefined\', \'mytextdomain\' ) . \'\';
    }
    echo $post_modified;
}
add_action( \'manage_posts_custom_column\', \'post_modified_column_display\', 10, 2 );

// Register the column as sortable
function post_modified_column_register_sortable( $columns ) {
    $columns[\'post_modified\'] = \'post_modified\';
    return $columns;
}
add_filter( \'manage_edit-post_sortable_columns\', \'post_modified_column_register_sortable\' );
//PAGES
// Register the column
function page_modified_column_register( $columns ) {
    $columns[\'page_modified\'] = __( \'Modified\', \'mytextdomain\' );
    return $columns;
}
add_filter( \'manage_edit-page_columns\', \'page_modified_column_register\' );

// Display the column content
function page_modified_column_display( $column_name, $page_id ) {
    if ( \'page_modified\' != $column_name ){
        return;
    }
    $page_modified = get_post_field(\'post_modified\', $page_id);
    if ( !$page_modified ){
        $page_modified = \'\' . __( \'undefined\', \'mytextdomain\' ) . \'\';
    }
    echo $page_modified;
}
add_action( \'manage_pages_custom_column\', \'page_modified_column_display\', 10, 2 );

// Register the column as sortable
function page_modified_column_register_sortable( $columns ) {
    $columns[\'page_modified\'] = \'page_modified\';
    return $columns;
}
add_filter( \'manage_edit-page_sortable_columns\', \'page_modified_column_register_sortable\' );

// end SORT BY MODIFIED

相关推荐

如何从wp-admin/edit.php重定向到特定定制帖子类型的前端页面?

我正在基于Wordpress构建一个非常小的web应用程序。为此,我为用户可以在应用程序中管理的项目创建了自定义帖子类型。我已经创建了一个非常漂亮、优化的概览页面作为前端页面。然而,为了节省开发时间,编辑每个项目仍然在后端进行。后端中的某些操作(即删除项目)会将用户带到后端中的项目概述页面(/wp-admin/edit.php?post_type=my_item_post_type) 而不是我漂亮的前端页面。我想防止这种情况发生,这样当用户/wp-admin/edit.php?post_type=my_i