很多时候我们需要采集一些内容做网站的内容补充, 那么采集图片会有很多的版权风险, 这个时候我们就可以自动的插入一些图片来做到图片和文字的图文排版, 对于搜索引擎更加的友好, 我们一起来看看吧
实现的方法也是比较的简单, 我们需要把下面的代码复制到函数模板functions.php中:
//在文章第一段落后插入图片 function insert_featured_image() { global $post; // 检查文章是否有特色图片 if (has_post_thumbnail($post->ID)) { return; } // 获取文章内容 $content = $post->post_content; // 判断文章是否有段落 if (strpos($content, '<p>') === false) { return; } // 在第一个段落后插入特色图片 $temp_no = rand(1, 51); $img_tag ="<img src='".get_bloginfo('url')."/images/".$temp_no.".jpg' alt='".$post->post_title."'>"; $new_content = preg_replace('/</p[^>]*>/', '$0' . $img_tag, $content, -2); // 更新文章内容 if ($new_content != $content) { wp_update_post(array( 'ID' => $post->ID, 'post_content' => $new_content )); } } add_action('wp', 'insert_featured_image');
下面是代码的解释, 不明白的小伙伴可以看看
1、在上述代码中, 我们首先使用 `has_post_thumbnail()` 函数检查文章是否有特色图片. 如果有, 则直接返回, 不做任何操作.
2、接着, 我们获取文章内容, 并使用 `strpos()` 函数判断文章是否有段落. 如果没有, 则直接返回, 不做任何操作.
3、最后, 我们使用正则表达式在第一个段落后插入一张默认图片, 并使用 `wp_update_post()` 函数更新文章内容. 这样, 当用户访问该文章时, 如果文章没有特色图片且有段落, 就会在第一个段落后插入一张默认图片.
需要注意的是, 这个代码只会在用户访问文章时插入一次图片, 之后即使刷新页面也不会重新插入. 如果你想要更灵活地控制插入图片的位置或者插入不同的图片, 可以根据自己的需要修改代码.