在内容的管理界面上,会出现内容的标题,评论,发布日期这些信息,我们可以在这个界面上添加新的信息栏,信息栏的内容也可以自己定义,比如我们可以把内容的自定义字段的信息显示在这里。
视频这个内容类型上有视频封面字段,我们把这个字段的信息显示在视频内容的管理界面上。
先打开当前主题的 functions.php ...
首先我们要做的是在视频内容管理界面上添加一个新的信息栏 ... 然后再为这个新的信息栏添加实际的内容。
先定义一个函数 ... 给这个函数添加一个 $columns 参数 ...
function movietalk_video_cover_colum( $columns ) {
}
在这个函数里,我们再输入 ...
$columns[ 'video-cover-image' ] = '视频封面';
意思就是在内容管理界面上添加一个新的信息栏 ... video_cover_image 是信息栏的名称 ... 后面的 视频封面,是信息栏上的标签 ...
然后我们需要再返回 $columns 值 ... return $columns;
下面我们需要把这个函数挂到 manage_posts_columns 这个函数上去执行 ...
add_filter( 'manage_posts_columns', 'movietalk_video_cover_column' );
这样这个信息栏会出现在所有文章类型的内容管理界面上.... 如果你想把信息栏放在页面类型内容的管理界面上,可以使用 manage_pages_columns() ...
如果你只想让这个信息栏出现在某个特定的内容类型上,可以使用 manage + 内容类型,然后再加上 posts columns 的形式 ...
这里我们只让它出现在 video ,也就是视频这个内容类型上,所以在 manage 后面可以加上一个 _video ...
保存 ... 再回视频内容管理界面上去看一下 ...
你会看到一个新的信息栏,视频封面,不过这个信息栏上还没有内容 ... 再回到 functions.php ...
下面我们再定义一个函数 ... ... 给这个函数添加两个参数 ... 一个是 $column_name ... 信息栏的名称 ... 另一个是 $post_id ,文章的 id ...
function movietalk_video_cover_column_content( $column_name, $post_id ) {
}
首先我们要先判断一下信息栏的名称... 意思就是,如果信息栏的名称是 video_cover_image ... 也就是刚才我们添加的那个视频封面这个信息栏 ... 如果是,就去执行在 if 语句里面的代码 ...
if ($column_name == 'video-cover-image') {
}
在它的里面再输入 ...
$video_cover_id = get_field( 'video-cover', $post_id );
先获得当前文章的 video-cover 视频封面字段里的图像 id ... 把这个 id 交给 $video_cover_id ... 另起一行,再输入 ...
echo wp_get_attachment_image( $video_cover_id, 'thumbnail' );
获得并输出对应的视频封面图像的 thumbnail 缩略图 ... thumbnail 是 wordpress 默认定义的一个缩略图的尺寸 ...
最后我们再把这个函数挂载到 manage_posts_custom_column() 函数上去运行 ... 如果只想让这个信息栏内容出现在指定的内容类型上,可以使用 manage + 内容类型名称 ,然后是 posts_custom_column ...
add_action( 'manage_video_posts_custom_column', 'movietalk_video_cover_column_content' );
保存一下 ... 回到视频内容管理界面 ...
在视频封面信息栏上,会显示视频内容的视频封面字段里的图像 .... 点击右上角的 显示选项 .... 在这里,你可以切换显示 视频封面 这个信息栏 ... (#关闭)
http://codex.wordpress.org/Plugin_API/Filter_Reference/manage_posts_columns
http://codex.wordpress.org/Plugin_API/Action_Reference/manage_posts_cust...