本文详解如何修改 wordpress 自定义短代码函数,在文章缩略图和标题之外,正确显示每篇文章的发布日期和所属分类,同时提供结构化 html 输出与安全渲染建议。
在 WordPress 主题或插件开发中,常需通过自定义查询展示特定分类下的文章列表(如“旅行”类文章)。原始代码已实现基础功能——输出带缩略图和标题的链接列表,但缺少关键元信息:发布日期与所属分类。以下为优化后的完整解决方案,兼顾功能性、可读性与安全性。
✅ 正确获取并显示日期与分类
WordPress 提供了两个核心函数:
- get_the_date():返回当前文章的发布日期(支持格式参数,如 get_the_date(‘Y-m-d’));
- get_the_category():返回当前文章所有分类对象数组,需进一步处理为可读文本。
原答案中的逻辑存在两处关键问题需修正:
- $post_id 未定义:在循环内应使用 get_the_ID() 或直接省略(因 get_the_post_thumbnail() 在主循环中默认作用于当前全局 $post);
-
else 分支位置错误:原代码将 “No Posts Found” 放在 while 循环外但 if ( have_posts() ) 的 else 内,导致无结果时仍会闭合
- ,但实际应置于 if 的 else 块中,确保 HTML 结构完整。
以下是修复并增强后的专业级代码: