这篇文章介绍了如何在 WordPress 中通过自定义短代码 show_posts,按关键词显示相关文章列表。该方法基于 WordPress 内置搜索机制,类似于 /?s=keyword 查询,并支持设置显示文章数量以及是否显示文章摘要。相比安装额外插件,这种方式更加轻量、可控,也更适合需要简单相关文章推荐功能的博客。
如何在 WordPress 中不用插件显示相关文章
用短代码在 WordPress 文章中插入相关文章
WordPress 自定义短代码:按关键词显示相关文章
轻量级 WordPress 相关文章功能实现
使用 WP_Query 创建 WordPress 相关文章短代码
不装插件,也能在 WordPress文章中显示相关文章
WordPress 文章内显示相关内容的简单方法
用内置搜索实现 WordPress 相关文章推荐
给 WordPress 添加一个轻量级 show_posts 短代码
WordPress 短代码实战:显示相关文章标题和摘要
在 WordPress 中,你可以通过向主题的 functions.php 文件中添加代码来创建自定义短代码函数。建议将代码添加到子主题中,这样可以避免主题更新时被覆盖。
下面的示例添加了一个名为 show_posts 的短代码,你可以在文章中使用它来显示一组相关的文章。这些相关文章会通过 WordPress 内置的搜索机制获取,类似于 /?s=keyword 查询参数的效果。你还可以指定要显示的文章数量,并选择是否在列表中显示文章摘要。
与额外安装一个 WordPress 插件相比,这种短代码方式更加轻量,而且你可以完全控制代码本身。只要实现方式简单且安全,它通常也能减少不必要的性能开销。而且短代码比较灵活,你可以在文章中任意地方显示。插件一般只能在文章后面显示相关文章。
使用方法很简单:将下面的代码复制并粘贴到你的 functions.php 文件中。然后,在任意文章或页面中使用 show_posts 短代码,就可以插入相关文章列表。
比如:
[ show_posts keyword="wordpress" number="8" show_excerpt="true" ]
效果:
- 不装插件, 也能在 WordPress 博客中显示相关文章
阅读 桌面完整版 这篇文章介绍了如何在 WordPress 中通过自定义短代码 show_posts,按关键词显示相关文章列表。该方法基于 WordPress 内置搜索机制,类似于 /?s=keyword 查询,并支持设置显示文章数量以及是否显示文章摘要。相比安装额外插件,这种方式更加轻量、可控,也更适合需要简单相关文章推荐功能的博客。 如何在 WordPress 中不用插件显示相关文章 用短代码在 WordPress 文章中插入相关文章 WordPress 自定义短代码:按关键词显示相关文章 轻量级 WordPress… - WordPress 如何让 RSS feed 输出全文?
阅读 桌面完整版 WordPress 如何让 RSS feed 输出全文? WordPress RSS 设置全文输出教程 教你让 WordPress 的 RSS 订阅显示全文 WordPress:让 RSS 订阅源输出完整内容的三种方法 修改 WordPress… - 为博客WordPress添加两个显示十大文章的短指令 shortcode
阅读 桌面完整版 每年年底看着很多博主都会列出今年最佳十大文章啥的作一个总结,这事以前我也干过,不过以前是登陆服务器,连接数据库,然后跑几个SQL指令,得到结果,然后拷贝到文章中,很麻烦,而且这结果还是当下的,当SQL跑出来后结果就静态了。 其实,可以通过 shortcode 短指令的方式把这个功能添加到 wordpress 博客中。 WordPress 短指令:获得十大评论最多的文章 这个短指令有几个参数可以配置: “year”:帖子年份,可选,如果没有指定年份,则是基于当年博客中的所有文章来统计。 “type”:这个是HTML列表的类型,默认是 ol(ordered list) 也可以选择 ul(unordered list) “urltype”:博客链接的方式(默认是short),可以是 full… - 添加短代码(Short Code Function)以在 WordPress 帖子或页面中包含任何 PHP 或 HTML 文件
阅读 桌面完整版 有时候, 我们想要在WordPress的帖子或页面中包含 PHP 或者 HTML 或者其它外部文件, 这时我们可以使用以下PHP代码在WordPress中先添加一个短代码Short Code Function功能: function include_php_in_wordpress($atts) { extract(shortcode_atts( array( 'src' => '' ),… - 给WordPress提了个BUG得到了一件免费的T-Shirt
阅读 桌面完整版 WordPress(中文译为”博客园”)是一个免费开源的内容管理系统(CMS), 用PHP编写, 并与MySQL或MariaDB数据库配对使用. 它的压缩后的文件大小大约为16M. WordPress是一个基于PHP和MySQL开发的博客平台, 也可以用作内容管理系统(CMS). 它提供了一个强大的模板系统以支持丰富的设计选项, 允许用户创建功能齐全, 优雅的网站. WordPress最初是作为一个博客平台出现的, 但是如今已经被用来构建各种不同类型的站点, 包括新闻, 零售, 电子商务, 教育, 旅行, 非盈利机构和企业站点. 将近4年前,… - 密码或IP地址保护 WordPress 博客的 wp-admin 目录(并且允许 admin-ajax.php)
阅读 桌面完整版 wp-admin 文件夹是 wordpress 安装中最重要的文件夹. 它主要包含控制仪表板 Dashboard 等代码. 有一个重要的文件 admin-ajax.php 在正常的博客功能中也需要被用到, 所以单纯的屏蔽整个 wp-admin 也许会损坏一些正常的功能. 最近几天, 我收到了一些邮件警报, 因为我装了一个 Limit Login… - 通过 jQuery Migrate Helper 来解决升级 WordPress 5.5 带来的问题
阅读 桌面完整版 每次Wordpress升级, 我都是第一时间点更新的, 因为很久之前, 曾经有一次很严重的Wordpress安全事件(虽然不是发生在我身上), 后台被黑, 原因就是Wordpress没有及时更新去修复一些安全隐患. WordPress 5.5 更新最重要的就是图片 Lazy Load, 这可以使博客打开速度又快了一些, 因为图片只会在页面拉到当前视窗的时候才被加载. 装完之后, 立马就发现不对劲了, 经典编辑器Classic Editor只能使用全HTML模式. 图片无法上传(添加媒体),… - 如何删除wordpress仪表盘的 “我爱水煮鱼” 模块?
阅读 桌面完整版 “我爱水煮鱼” 是一款中文比较有名的 WordPress 博客优化插件, 提供了相当多的功能. 我很久之前装了, 后来觉得不好用就卸载了. 谁知插件很霸道, 虽然在 wp-contents/plugins 插件目录下已经把整个文件夹删除了, 插件列表也找不到该插件了, 可是在WP仪表盘上还是能看到 “我爱水煮鱼” 的模块. 这个模块主要就是显示一些文章, 没啥用. 考虑到安全和隐私问题,…
如果不显示文章摘要:
[ show_posts keyword="php" number="5" show_excerpt="false" ]
效果:
- PHP 7.4 不再受支持, 博客升级提上日程
- 添加短代码(Short Code Function)以在 WordPress 帖子或页面中包含任何 PHP 或 HTML 文件
- 密码或IP地址保护 WordPress 博客的 wp-admin 目录(并且允许 admin-ajax.php)
- 如何解决在PHPMailer脚本中Gmail SMTP无法验证发送的问题?
- 把 MySQL 中的 MyISAM 表格转换成 InnoDB 的PHP小工具
- PHP 是最好的语言, 但是……
- 论PHP是世界上最好的语言 PHP is the best programming language in the world!
- 通过例子学写 PHP单元测试来确保API功能正常
默认显示8篇文章,默认不显示文章摘要。
function show___posts_func($atts) {
$atts = shortcode_atts(
array(
'keyword' => '',
'number' => 5,
'show_excerpt' => 'true',
),
$atts,
'show_posts'
);
$keyword = sanitize_text_field($atts['keyword']);
$number = max(1, min(20, intval($atts['number'])));
$show_excerpt = filter_var($atts['show_excerpt'], FILTER_VALIDATE_BOOLEAN);
if ($keyword === '') {
return '';
}
$query = new WP_Query(array(
'post_type' => 'post',
'post_status' => 'publish',
's' => $keyword,
'posts_per_page' => $number,
'ignore_sticky_posts' => true,
'no_found_rows' => true,
));
if (!$query->have_posts()) {
return '';
}
$output = '<ul class="show-posts-list">';
while ($query->have_posts()) {
$query->the_post();
$output .= '<li>';
$output .= '<a href="' . esc_url(get_permalink()) . '">';
$output .= esc_html(get_the_title());
$output .= '</a>';
if ($show_excerpt) {
$excerpt = get_the_excerpt();
if ($excerpt) {
$output .= '<br><small>' . esc_html(wp_trim_words($excerpt, 20)) . '</small>';
}
}
$output .= '</li>';
}
$output .= '</ul>';
wp_reset_postdata();
return $output;
}
add_shortcode('show_posts', 'show___posts_func');
Wordpress博客技术文章
- 不装插件, 也能在 WordPress 博客中显示相关文章
- WordPress 如何让 RSS feed 输出全文?
- 为博客Wordpress添加两个显示十大文章的短指令 shortcode
- 添加短代码(Short Code Function)以在 WordPress 帖子或页面中包含任何 PHP 或 HTML 文件
- 给Wordpress提了个BUG得到了一件免费的T-Shirt
- 最简单有效的过滤Wordpress垃圾评论的方法
- 怎么样对你的Wordpress博客进行汉化?
- 怎么样移动Wordpress博客的评论?
- Wordpress 博客使用 AMP 移动加速的技术和技巧
- 怎么样正确的统计WORDPRESS博文的汉字个数?
- 本人提供有偿 WORDPRESS或相关网站 速度SEO优化等服务
- 如何把 隐藏 WORDPRESS 的顶部管理菜单?
- 通过PHP脚本 批量设置 WORDPRESS 博客文件夹属性
- 在WORDPRESS管理员界面上面添加菜单选项
- 开发 Wordpress 插件 教程 - 插件是如何工作的?
- Wordpress 最简单的过滤垃圾评论的方法
- 如何显示缩略图 随机文章 Wordpress?
- 如何在文章最后显示 历史上的今天 [Wordpress]?
- 登陆 Wordpress 之后不显示Adsense广告
- 如何在指定的文章里不显示Adsense广告? Adsense真是矫情
英文:WordPress Short Code Function Showing Relevant Posts
强烈推荐
- 英国代购-畅购英伦
- TopCashBack 返现 (英国购物必备, 积少成多, 我2年来一共得了3000多英镑)
- Quidco 返现 (也是很不错的英国返现网站, 返现率高)
- 注册就送10美元, 免费使用2个月的 DigitalOcean 云主机(性价比超高, 每月只需5美元)
- 注册就送10美元, 免费使用4个月的 Vultr 云主机(性价比超高, 每月只需2.5美元)
- 注册就送10美元, 免费使用2个月的 阿里 云主机(性价比超高, 每月只需4.5美元)
- 注册就送20美元, 免费使用4个月的 Linode 云主机(性价比超高, 每月只需5美元) (折扣码: PodCastInit2022)
- PlusNet 英国光纤(超快, 超划算! 用户名 doctorlai)
- 刷了美国运通信用卡一年得到的积分 换了 485英镑
- 注册就送50英镑 – 英国最便宜最划算的电气提供商
- 能把比特币莱特币变现的银行卡! 不需要手续费就可以把虚拟货币法币兑换
微信公众号: 小赖子的英国生活和资讯 JustYYUK