0

我尝试添加带有最后修订日期的列,并使用此代码。这里有什么问题吗?问题是,它不起作用,但它没有给我任何错误消息

add_filter('manage_pages_columns', 'add_revised_column');
add_action('manage_pages_custom_column', 'echo_revised_column', 10, 2);

function add_revised_column($columns) {

$columns['revised'] = 'Revised';

return $columns;
}


function echo_revised_column($column, $id) {

if ('revised' == $column)
    echo get_post_field('post_modified', $id);
}
4

2 回答 2

0

有几点不对:

首先,你可能应该给你的函数名称加上一个唯一的前缀。例如,user2223698_add_revised_column。然后你的函数将不会与一些随机插件或主题发生冲突。

其次,对于您的 manage_pages_columns 过滤器,您可能想查看 http://codex.wordpress.org/Plugin_API/Filter_Reference/manage_pages_columns 以了解如何添加列。您需要提供文字标题。

第三,对我来说,您如何填充此列并不明显。您需要向 WordPress 数据库添加一些内容吗?

http://codex.wordpress.org/Writing_a_Plugin#Saving_Plugin_Data_to_the_Database

于 2013-04-01T13:37:48.427 回答
0

总的来说,这对我来说很好。我做了类似的事情,在管理媒体页面上添加媒体高度 x 宽度尺寸,我的代码模式基本相同。

但是:我建议您创建一个常量,并在整个过程中使用它来避免这个问题,例如:

DEFINE('COL_NAME_REVISED','revised');
...
$columns['COL_NAME_REVISED'] = 'Revision Info';
...
if (COL_NAME_REVISED == $column)
...

编辑:之前回答说键名不匹配,但在重新访问这个问题时,我意识到它们并没有不匹配。因此,AFAIK OP 的代码是可以的。

于 2013-04-01T13:38:16.617 回答