WordPress新文章自动使用文章ID作为别名
之前使用别名,现在想换成id,但要保持原先的别名不变。还是觉得不够好用,留下了不懂技术的眼泪,但比网上抄来抄去的代码好多了。比如wp大学那个,批量移动文章到回收站时会报错。
将以下代码添加到主题的functions.php中:
/**
* WordPress新文章自动使用文章ID作为别名,手动发布没问题,使用rest api不生效
*/
function slug_auto_id($slug, $post_ID, $post_status, $post_type)
{
// 只对文章且文章id大于129生效,129为最后一篇旧文章的id
if ($post_type === 'post' && $post_ID > '129') {
//$slug = get_the_ID();
$slug = $post_ID;
}
return $slug;
}
add_filter('wp_unique_post_slug', 'slug_auto_id', 10, 6);
有个问题就是时不时提示:此文章在您浏览器中的备份与以下版本不同。
禁用本地自动保存即可:
// 禁用古腾堡本地自动保存
add_filter('block_editor_settings_all', function($settings) {
$settings['localAutosaveInterval'] = 99999;
return $settings;
});
其实有个思路就是给新旧文章分别设置固定链接,比如旧文章用默认的别名,新文章用id,但是不知道怎么实现。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。