如何将移除文章the_content内所有图片的代码转为WordPress插件
移除文章图片功能的独立WordPress插件实现方案
无需修改主题文件,按以下步骤制作的独立插件启用后,全站所有前端输出的文章内容都会自动移除内嵌图片,切换主题不会导致功能失效:
- 创建插件结构
打开站点目录下的wp-content/plugins/路径,新建名为remove-post-images的文件夹,在文件夹内新建主文件remove-post-images.php。 - 写入插件代码
将以下代码完整复制到新建的PHP文件中保存:
<?php /** * Plugin Name: 自动移除文章内图片 * Description: 自动过滤前端文章内容中的所有img图片标签,无需修改主题 * Version: 1.0 * License: GPL2 */ add_filter('the_content', 'rpif_remove_post_images', 20); function rpif_remove_post_images($content) { // 修正原正则匹配溢出问题,仅移除img标签本身,不误删相邻正文内容 return preg_replace('/<img[^>]*>/i', '', $content); }
- 启用插件
登录WordPress后台,进入插件管理页面,找到「自动移除文章内图片」插件,点击启用即可生效。
注意:你之前准备加到主题index.php的代码存在正则逻辑问题,原规则
/<img[^>]+./会把img标签后紧跟的1个字符一同删除,上述插件代码已经修复该问题。实现方式采用WordPress原生的the_content过滤器挂载,不会修改主题原有逻辑,也不会影响后台编辑器的内容保存。
内容的提问来源于stack exchange,提问作者Edgardo
相关产品推荐
相关产品推荐

