马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
后台页面列表添加缩略图效果
后台文章列表添加缩略图效果
实现代码
//为后台页面和文章列表添加缩略图显示
// 为页面列表添加缩略图列
add_filter('manage_pages_columns', 'taxingmei_add_page_thumbnail_column');
add_action('manage_pages_custom_column', 'taxingmei_display_page_thumbnail', 10, 2);
function taxingmei_add_page_thumbnail_column($columns) {
$columns['taxingmei_page_thumbnail'] = __('Page Thumbnail');
return $columns;
}
function taxingmei_display_page_thumbnail($column_name, $post_id) {
if ($column_name === 'taxingmei_page_thumbnail') {
$thumbnail_id = get_post_thumbnail_id($post_id);
if ($thumbnail_id) {
$thumbnail = wp_get_attachment_image_src($thumbnail_id, 'thumbnail');
if ($thumbnail) {
echo '<img src="'. esc_url($thumbnail[0]). '" width="50" height="50" />';
}
} else {
echo 'No Thumbnail';
}
}
}
// 为文章列表添加缩略图列
add_filter('manage_posts_columns', 'taxingmei_add_post_thumbnail_column');
add_action('manage_posts_custom_column', 'taxingmei_display_post_thumbnail', 10, 2);
function taxingmei_add_post_thumbnail_column($columns) {
$columns['taxingmei_post_thumbnail'] = __('Post Thumbnail');
return $columns;
}
function taxingmei_display_post_thumbnail($column_name, $post_id) {
if ($column_name === 'taxingmei_post_thumbnail') {
$thumbnail_id = get_post_thumbnail_id($post_id);
if ($thumbnail_id) {
$thumbnail = wp_get_attachment_image_src($thumbnail_id, 'thumbnail');
if ($thumbnail) {
echo '<img src="'. esc_url($thumbnail[0]). '" width="50" height="50" />';
}
} else {
echo 'No Thumbnail';
}
}
}
以下是对这段代码的详细分析:
一、整体结构和目的
这段 PHP 代码是为 WordPress 网站的后台管理界面进行功能扩展。其主要目的是在页面和文章的管理列表中添加一个显示缩略图的列,以便管理员能够更直观地查看页面或文章是否有特色图像(缩略图)。
二、具体函数和操作解析
add_filter('manage_pages_columns', 'taxingmei_add_page_thumbnail_column');
- 这里使用了 WordPress 的
add_filter 函数,将一个名为 taxingmei_add_page_thumbnail_column 的函数注册到 manage_pages_columns 过滤器。这个过滤器用于修改页面管理列表的列。
- 其作用是在页面管理列表中添加一个新的列,用于显示页面的缩略图。
add_action('manage_pages_custom_column', 'taxingmei_display_page_thumbnail', 10, 2);
- 使用
add_action 函数将 taxingmei_display_page_thumbnail 函数注册到 manage_pages_custom_column 动作。这个动作用于在页面管理列表的自定义列中填充内容。
- 当页面管理列表中的某一列被渲染时,这个函数会被调用,以确定该列的内容。
function taxingmei_add_page_thumbnail_column($columns)
- 这个函数接受一个参数
$columns ,它是一个包含页面管理列表现有列信息的数组。
- 在函数内部,向这个数组添加了一个新的键值对,键为
taxingmei_page_thumbnail ,值为 “Page Thumbnail” ,表示新添加的列的标题是 “Page Thumbnail” 。
function taxingmei_display_page_thumbnail($column_name, $post_id)
- 这个函数接受两个参数,
$column_name 表示当前列的名称,$post_id 是当前页面的 ID。如果当前列的名称是 taxingmei_page_thumbnail ,说明正在渲染新添加的缩略图列。
- 首先,通过
get_post_thumbnail_id($post_id) 获取当前页面的特色图像 ID。如果有特色图像 ID(即 $thumbnail_id 不为空),则使用 wp_get_attachment_image_src($thumbnail_id, 'thumbnail') 获取特色图像的缩略图 URL。如果获取成功(即 $thumbnail 不为空),则输出一个 <img> 标签,显示缩略图,并设置宽度为 50 像素,高度为 50 像素。如果没有特色图像,则输出 “No Thumbnail” 。
- 对于文章列表的部分
(add_filter('manage_posts_columns', 其作用与页面列表的部分类似,只是针对文章管理列表进行操作。
在当前使用主题的 functions.php 文件里或者之前分享的 制作简单WordPress插件 里添加以上代码即可在后台的页面和文章列表显示缩略图。
注:以上代码经过AI分析调整,仅供学习记录。 |