如何传入文章ID获取WordPress中最后修改该文章的用户ID
WordPress循环外获取指定文章最后修改作者ID的实现方法
方案1:调用系统内置自定义字段(优先推荐)
WordPress核心默认会为每篇文章自动维护_edit_last自定义字段,存储的值即为最后一次修改文章的用户ID,无需额外配置,性能最优。
实现代码示例:
// 替换为实际要查询的文章ID $post_id = 目标文章ID; // 获取最后修改用户ID $last_edit_user_id = get_post_meta($post_id, '_edit_last', true); // 输出用户头像,第二个参数为头像像素尺寸,可自行调整 if ($last_edit_user_id) { echo get_avatar($last_edit_user_id, 64); }
方案2:临时覆写全局post对象(兼容特殊场景)
如果存在自定义文章更新逻辑未同步更新_edit_last字段的情况,可以通过临时替换全局文章变量的方式让默认函数在循环外生效,使用后务必恢复原变量避免影响其他业务逻辑。
实现代码示例:
// 替换为实际要查询的文章ID $target_post_id = 目标文章ID; // 备份原全局文章对象 $temp_post = $GLOBALS['post']; // 替换为目标文章对象 $GLOBALS['post'] = get_post($target_post_id); // 获取最后修改作者ID $modified_author_id = get_post_field('post_author', get_the_modified_ID()); // 输出头像 if ($modified_author_id) { echo get_avatar($modified_author_id, 64); } // 恢复原全局文章对象 $GLOBALS['post'] = $temp_post;
内容的提问来源于stack exchange,提问作者Felix
相关产品推荐
相关产品推荐

