获取所有 WordPress 已发布文章 url 链接

何先生最近把网站的链接改了格式,从之前的 /$postname$.html 改为了 /hexsen_$post_id$.html,这样改的目的一是为了 url 链接更简短更好看,当然最主要的还是每次编辑文章不想再给 url 起名了,头大。

改网站链接倒是简单,最麻烦的是改了之后要进行 301 跳转,还要提交到百度改版,否则有收录的文章会受影响。
但是 $postname$ 改为 $post_id$ 是无法用规范的正则表达式描述的 ,性质不同。没办法,只能通过 PHP + 数据库查询来获取已发布文章的旧链接和新链接,获取之后再提交到百度的 新旧 URL 对 进行改版。

获取新旧 url 链接代码

<?php   
      include ( "wp-config.php" ) ; 
      require_once (ABSPATH.'wp-blog-header.php'); 
      global $wpdb; 
      $yuming = "https://www.hexsen.com/";//网站域名
      $houzui = ".html";//文章后缀
      $sql="SELECT * FROM wp_posts WHERE post_type =  'post' AND post_status =  'publish' ORDER BY ID DESC "; 
      $myrows = $wpdb->get_results($sql);
      foreach ($myrows as $b) { 
		echo $yuming;
		echo $b->post_name; // 获取数据库 post_name 字段,也就是文章旧链接
		echo $houzui."<br/>";
		echo $yuming;
		echo 'hexsen-'.$b->ID; // 获取数据库 ID 字段,文章新链接
		echo $houzui."<br/>";
      }
?>

代码用法

  1. 在网站根目录创建一个名叫 get_url.php 的 PHP 文件。
  2. 复制代码并粘贴进 get_url.php 文件保存。
  3. 访问 https://www.hexsen.com/get_url.php 就得到了我们想要的链接。
  4. 用完之后记得删除文件。

以上代码获取后的链接格式如下:

旧链接格式:https://www.hexsen.com/old-url.html // 此链接中 old-url 每次都要自己手动起
新链接格式:https://www.hexsen.com/hexsen_54.html // 而新链接中的 54 则是自动获取的文章 id,再也不用烦恼了。

算了,最后还是换回 $postname$ 格式。尴尬

© 版权声明
THE END
打赏一根烟,继续保持。
点赞0打赏作者 分享
评论 抢沙发
头像
友好交流,请勿发纯表情,请勿灌水,违者封号喔
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容