wordpress批量给没有图片的文章自动添加图片
WordPress采集时没有一张张添加图片,由于采集的文章太多,手动添加图片不现实。在网上找了一段代码,可以给没有图片的文章自动添加图片,有图片的文章则不会添加。
网上找到的代码出现一些问题,添加代码以后图片可以添加,但是原来的文章段落(p标签)没有了,自动给文章添加标签和内链的功能也失效了。检测以后把正确代码分享给大家。
将以下代码复制到当前使用的主题文件的functions.php文件中:(路径一般在 wp-content文件夹 和模板在一起)
if (!is_page()) { global $post; $temp_url = ""; if (!has_post_thumbnail()) { $id = $post->ID; preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $content, $strResult, PREG_PATTERN_ORDER); $n = count($strResult[1]); if ($n <= 0) { $temp_no = rand(1, 51); $temp_url = "<center><p><img src='" . get_bloginfo('url') . "/images/" . $temp_no . ".jpg' alt='" . $post->post_title . "'></p></center>"; $content = $temp_url . $content; $my_post = array(); $my_post['ID'] = $id; $my_post['post_content'] = $content; wp_update_post($my_post); } } } return $content; }
这样,就能智能的实现如果文章没有图片就随机调用站点根目录下image文件夹中一张图片,函数中我们规定了选取51张随机图片中的一张,我们这些图片命名为1.jpg、2.jpg、.....51.jpg,所以,我们要准备好这些图片并且上传到网站根目录的images文件夹中,如果没有这个文件夹则新建一个即可。这里即使我们刷新文章页这个调用的随机图片也不会改变,实现永久固定为那张图片。