为WordPress后台页面和文章列表添加缩略图

[复制链接]
七夏(UID:1) 发表于 2024-11-6 17:03:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

图片 后台页面列表添加缩略图效果

图片 后台文章列表添加缩略图效果

实现代码

//为后台页面和文章列表添加缩略图显示
// 为页面列表添加缩略图列
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 网站的后台管理界面进行功能扩展。其主要目的是在页面和文章的管理列表中添加一个显示缩略图的列,以便管理员能够更直观地查看页面或文章是否有特色图像(缩略图)。

二、具体函数和操作解析

  1. add_filter('manage_pages_columns', 'taxingmei_add_page_thumbnail_column');
  • 这里使用了 WordPress 的 add_filter函数,将一个名为 taxingmei_add_page_thumbnail_column的函数注册到 manage_pages_columns过滤器。这个过滤器用于修改页面管理列表的列。
  • 其作用是在页面管理列表中添加一个新的列,用于显示页面的缩略图。
  1. add_action('manage_pages_custom_column', 'taxingmei_display_page_thumbnail', 10, 2);
  • 使用 add_action函数将 taxingmei_display_page_thumbnail函数注册到 manage_pages_custom_column动作。这个动作用于在页面管理列表的自定义列中填充内容。
  • 当页面管理列表中的某一列被渲染时,这个函数会被调用,以确定该列的内容。
  1. function taxingmei_add_page_thumbnail_column($columns)
  • 这个函数接受一个参数 $columns,它是一个包含页面管理列表现有列信息的数组。
  • 在函数内部,向这个数组添加了一个新的键值对,键为 taxingmei_page_thumbnail,值为 “Page Thumbnail”,表示新添加的列的标题是 “Page Thumbnail”
  1. 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”
  1. 对于文章列表的部分 (add_filter('manage_posts_columns',其作用与页面列表的部分类似,只是针对文章管理列表进行操作。

在当前使用主题的 functions.php 文件里或者之前分享的 制作简单WordPress插件 里添加以上代码即可在后台的页面和文章列表显示缩略图。

注:以上代码经过AI分析调整,仅供学习记录。

小时候,看腻了农村的牛和马,长大后,来到了城里,才知道原来到处都是牛马!
全部回复0 显示全部楼层
暂无回复,精彩从你开始!

快速回帖

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于楼主

管理员
  • 主题

    745
  • 回答

    264
  • 积分

    1980
虚位以待,此位置招租

商务推广

    网盘拉新-短剧推广 此位置招租 此位置招租 此位置招租 此位置招租 此位置招租 此位置招租 此位置招租 此位置招租 此位置招租