wordpress文章根据时间批量添加修改内容

相信有很多站长朋友有时候都有批量修改更新文章的需求,网上也可以搜索到很多类似教程,本文介绍的是在原有文章后添加内容,可以根据时间来筛选。

如果是批量替换内容,可以参考: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>&raquo; 转载请保留出处:<a title="豫章小站" target="_blank" rel="nofollow" href="/link.php?url=aHR0cHM6Ly9ibG9nLm15ZG5zLnZpcA">豫章小站</a>&raquo; <a rel="bookmark" title="'.$title_name.'" rel="nofollow" href="/link.php?url=aHR0cHM6Ly9ibG9nLm15ZG5zLnZpcC8nLiRhLicuaHRtbA">《'.$title_name.'》</a></div>';
    $content.= '<div>&raquo; 本文链接地址:<a rel="bookmark" target="_blank" title="'.$title_name.'"rel="nofollow" href="/link.php?url=aHR0cHM6Ly9ibG9nLm15ZG5zLnZpcC8nLiRhLicuaHRtbA">https://blog.mydns.vip/'.$a.'.html</a></div>';
    $content.= '<div> &raquo; 如果喜欢可以:<a title="订阅豫章小站" target="_blank" rel="nofollow" href="/link.php?url=aHR0cHM6Ly9ibG9nLm15ZG5zLnZpcC9mZWVk">点此订阅本站</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 也可以更换为其他的语句执行。

作者:魏川川

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8261;邮箱:jenny@youkuaiyun.com。本站原创内容未经允许不得转载,或转载时需注明出处::优快云资讯门户 » wordpress文章根据时间批量添加修改内容

赞 (3)