WordPress自动使用文章ID作为别名(slug)

SEO 25-08-12 15:09:36

WordPress自动使用文章ID作为别名(slug)

使用固定链接结构是 %post_id% (ID),但是 WP User Frontend 这个前端用户中心插件要求必须设置为 %postname% (slug)才能使用,我不想改变以前的文章链接地址,该怎么办?

解决这个问题的,让 WordPress 自动使用文章ID作为别名(slug),也就是说,即使你设置为 %postname% 结构,仍旧可以自动生成 ID 结构的链接。或许你会说,修改固定链接结构后,原来的那些文章的链接变化了,怎么办?不用担心,照样可以解决!进入正题!

为了安全起见,请先备份网站的数据库,然后再按照下文操作!

更改固定链接结构

假设你原来的固定链接结构设置为 /%post_id%,现在你可以将它改为 /%postname% ,这时候你会发现,新建文章和老文章都使用文章标题作为别名

批量修改老文章的别名为ID

将下面的代码添加到网站根目录的 wp-config.php 的最底部,保存后访问一次网站首页(你将看到浏览器一直都在努力打开网页,不要急,耐心等待,直到网页真正打开,所需时间看文章数和网络情况而定)。网页打开后,删除刚刚添加到 wp-config.php 的代码!

/**

* 批量更改旧文章的别名为ID

* 使用方法:将代码添加到网站根目录的 wp-config.php 的最底部,访问一次网站首页,等页面打开后,再删除这些代码

*/

// 添加一个变量来包容文章标题数组,防止重复操作

$slug_done = array();

// 查询所有文章

$posts = $wpdb->get_results( "

SELECT

`ID`,

`post_title`

FROM

`" . $wpdb->posts . "`

WHERE

`post_type` = 'post'

" );

// 输出文章

foreach( $posts AS $single ) {

$this_slug = $single->ID;

$slug_done[] = $this_slug;

// 使用文章ID替换文章原来的别名

$wpdb->query( "

UPDATE

`" . $wpdb->posts . "`

SET

`post_name` = '" . $this_slug . "'

WHERE

`ID` = '" . $single->ID . "'

LIMIT 1

" );

}

新文章自动使用ID作为别名

将下面的代码添加到主题的 functions.php ,新建的文章都会自动使用ID作为别名

/**

* 新文章自动使用ID作为别名

* 作用:即使你设置固定连接结构为 %postname% ,仍旧自动生成 ID 结构的链接

*/

add_action( 'save_post', 'using_id_as_slug', 10, 2 );

function using_id_as_slug($post_id, $post){

global $post_type;

if($post_type=='post'){ //只对文章生效

// 如果是文章的版本,不生效

if (wp_is_post_revision($post_id))

return false;

// 取消挂载该函数,防止无限循环

remove_action('save_post', 'using_id_as_slug' );

// 使用文章ID作为文章的别名

wp_update_post(array('ID' => $post_id, 'post_name' => $post_id ));

// 重新挂载该函数

add_action('save_post', 'using_id_as_slug' );

}

}

更新:添加文章类型判断,只对文章(post)生效,不会影响页面等其他类型

[WordPress自动使用文章ID作为别名(slug)]相关推荐
知识产权师报考条件

知识产权师报考条件

知识产权师报考条件根据职称等级(初级、中级、高级)有所不同,需满足学历、工作年限及资格认证等要求。 ……...

今日笔记
  1. 网站布局有哪几种?12种常见的网页布局设计

    网站布局有哪几种?12种常见的网页布局设计

    网页布局在很大程度上决定了网站的访问者将如何与网页内容进行交互。不同的网页布局带来的交互体验是不一样的,因此设计师常常需要根据不同的产品特点选择不同的网页布局,由此获得良好的用户体验。常见的网页布局……

    建站软件 2025-08-12

  2. 做内容营销,到底要不要露脸

    做内容营销,到底要不要露脸

      先说说做内容 关于做内容这个,我相信大家都能理解不再是我们传统单一的文字或图文这种,像什么图片绘画,音频视频,直播等都是内容吧? SEO会写原创内容,其实是一门技术。不要以为写代码才是技术,能写一……

    新媒体 2025-08-12

  3. 中级经济师考点第十一节:成本

    中级经济师考点第十一节:成本

    成本(生产费用):生产过程中企业对所购买的各种生产要素的货币支出。企业在生产经营过程中所支付的物质费用和人工费用。 机会成本:当一种生产要素被用于生产单位某产品时所放弃的使用相同要素在其他生产用途中……

    知识产权 2025-08-12

返回顶部小火箭