You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress指定文章每日自动同步最新自定义文章类型特色图

原有代码问题排查

你的代码存在4个核心错误,无法实现预期功能:

  • 函数入参定义无实际作用,且update_post_meta第一个参数要求传入整数类型的文章ID,你传入的是get_post()返回的文章对象,参数类型不匹配
  • the_post_thumbnail('thumbnail')的作用是直接输出缩略图的HTML代码,不会返回缩略图对应的媒体附件ID,不能作为_thumbnail_id的存储值
  • 查询参数没有显式指定按发布时间倒序排序,存在取到非最新文章的风险
  • 函数没有绑定WordPress的执行钩子,写完后不会被系统自动调用,永远不会生效
正确实现方案

将以下代码添加到当前主题/子主题的functions.php文件中即可:

/**
 * 发布wakeup类型文章时,自动更新ID=8661的列表页缩略图为最新文章特色图
 */
function sync_latest_wakeup_thumbnail_to_list_page( $post_ID, $post ) {
    // 仅在wakeup类型文章正式发布时触发逻辑,排除修订、草稿、其他文章类型
    if ( $post->post_type !== 'wakeup' || $post->post_status !== 'publish' ) {
        return;
    }

    // 查询最新发布的wakeup文章
    $latest_post_query = new WP_Query( [
        'post_type'      => 'wakeup',
        'post_status'    => 'publish',
        'posts_per_page' => 1,
        'orderby'        => 'date',
        'order'          => 'DESC',
        'no_found_rows'  => true, // 关闭分页统计,提升查询性能
    ] );

    if ( ! $latest_post_query->have_posts() ) {
        return;
    }

    $latest_post_query->the_post();
    // 获取最新文章的特色图附件ID
    $latest_thumb_id = get_post_thumbnail_id( get_the_ID() );
    wp_reset_postdata();

    if ( empty( $latest_thumb_id ) ) {
        return;
    }

    // 直接给ID=8661的文章更新特色图元数据
    update_post_meta( 8661, '_thumbnail_id', $latest_thumb_id );
}
// 绑定文章保存钩子,接收2个参数
add_action( 'save_post', 'sync_latest_wakeup_thumbnail_to_list_page', 10, 2 );
使用说明
  • 代码会在每次wakeup类型文章正式发布(含定时发布)、已发布的wakeup文章更新时自动执行,只要最新的wakeup文章设置了特色图,8661号文章的缩略图就会自动同步
  • 首次部署需要立即生效的话,只需要编辑并更新任意一篇已发布的wakeup文章即可触发一次同步
  • 如果后续列表页文章ID有变动,直接修改代码里update_post_meta的第一个参数数值即可

内容的提问来源于stack exchange,提问作者MsMaryMak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 15:09:34