相信有很多站长朋友有时候都有批量修改更新文章的需求,网上也可以搜索到很多类似教程,本文介绍的是在原有文章后添加内容,可以根据时间来筛选。
如果是批量替换内容,可以参考:WordPress 批量修改文章信息 (本文介绍有替换)。
功能说明:
筛选一定时间范围发布的文章,给这些文章都添加上版权信息,文章添加修改后效果图如下。
代码如下,将代码保存为up.php文件,上传到网站根目录,然后直接访问这个文件即可,可根据自己需求修改补充,执行前建议查看代码后部分的说明,建议先导出备份mysql数据。
<?php include ( "wp-config.php" ) ; require_once (ABSPATH.'wp-blog-header.php'); global $wpdb; //按时间范围检索文章,列出ID $where = "SELECT ID FROM wp_posts WHERE post_type = 'post' AND post_status = 'publish' AND post_date >= '2019-08-04' AND post_date <= '2019-08-06'"; $myrows = $wpdb->get_results($where); foreach ($myrows as $b) { $a=$b->ID; /* //这段注释根据需要是否使用。 $aa[]=$a; //获取ID存放在aa数组 } //array_slice函数分割,从第10个数组后截取 $output = array_slice($aa,10); foreach ($aa as $bb) { echo get_post( $bb )->post_title; */ //get_post根据ID获取文章标题【豫章小站原创文章】 $title_name=get_post( $a )->post_title; //如果考虑上面的截取,这里的$a改成$bb,下面的$a都要改成$bb echo $title_name; $content= "<blockquote>"; $content.= '<div>» 转载请保留出处:<a title="豫章小站" target="_blank" href="https://blog.mydns.vip">豫章小站</a>» <a rel="bookmark" title="'.$title_name.'" href="https://blog.mydns.vip/'.$a.'.html">《'.$title_name.'》</a></div>'; $content.= '<div>» 本文链接地址:<a rel="bookmark" target="_blank" title="'.$title_name.'"href="https://blog.mydns.vip/'.$a.'.html">https://blog.mydns.vip/'.$a.'.html</a></div>'; $content.= '<div> » 如果喜欢可以:<a title="订阅豫章小站" target="_blank" href="https://blog.mydns.vip/feed">点此订阅本站</a></div>'; $content.= "</blockquote>"; //content内容执行加到文末 $sql ="UPDATE wp_posts SET post_content= CONCAT(post_content,'$content') WHERE id= '$a'"; //echo $sql."</br>"; //输出sql语句,如果要查看,取消这行注释 $wpdb->query($sql); //如果要查看输出sql是否正确,注释这行 } ?>
执行前建议先输出SQL查看下是否是自己需要的,比如本示例输出结果如图所示:
总结说明:
1、$where语句中的post_date是整天型的,AND post_date >= '2019-08-04' AND post_date <= '2019-08-06' 就是5号这天发布的文章。
2、get_post方法可以获取到很多信息,可以参考:WordPress调用指定ID文章,get_post()方法简单介绍,可以根据自己需要来调整想要获取到的数据,本示例用post_title获取文章标题。
3、$content可以定义为自己想要添加的内容。
4、建议执行前建议先注释$wpdb->query($sql),先用echo $sql."</br>";输出查看下sql语句是否是自己想要的。
5、执行前一定要导出备份数据库,避免改错以后非常麻烦。
6、有能力的站长可以举一反三,$where可以换成其他语句,比如根据栏目ID获取文章, $sql 也可以更换为其他的语句执行。
» 本文链接地址:https://blog.mydns.vip/2216.html
最新评论
我的站目前每天120个IP,其中刷的是100个。 不知道为什么升级到4H8G5M的标准服务器还是偶尔会崩,CPU占满,但是内存一般这种时候只占50%左右,这是为什么呢?max_children我也设
麻烦发下检测工具
让我下载