我尝试添加一个包含最后修订日期的列,并使用此代码。这里有什么问题吗?问题是,它不起作用,但它没有给我任何错误信息
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);
}
答案 0 :(得分: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
答案 1 :(得分:0)
这一般对我来说很好。我做了类似的事情,在管理媒体页面上添加媒体高度x宽度尺寸,我的代码模式基本相同。
但是:我建议你创建一个常量,并在整个过程中使用它来避免这个问题,例如:
DEFINE('COL_NAME_REVISED','revised');
...
$columns['COL_NAME_REVISED'] = 'Revision Info';
...
if (COL_NAME_REVISED == $column)
...
编辑:之前已经回答过关键名称不匹配,但在重新访问这个问题时,我意识到它们没有不匹配。因此,AFAIK OP的代码是可以的。