要在WordPress中在写文章时自动设置文章别名为ID,您可以使用以下方法:
- 打开WordPress的主题文件夹,并找到functions.php文件。
- 在functions.php文件中添加以下代码:
function set_slug_to_id( $post_ID, $post, $update ) {
// 检查当前操作是否是更新文章
if ( $update ) {
return;
}
// 将文章的别名设置为文章ID
$slug = $post->ID;
// 更新文章的别名
wp_update_post(
array(
'ID' => $post_ID,
'post_name' => $slug,
)
);
}
add_action( 'wp_insert_post', 'set_slug_to_id', 10, 3 );
- 保存并上传修改后的functions.php文件至WordPress主题文件夹。
现在,当您在WordPress中编写新文章时,它将自动将文章别名设置为文章的ID。请注意,在首次保存文章之前,别名将不会显示在URL中。只有在发布或更新文章后才会生成带有ID的URL别名。
如果您希望在首次保存文章之前就自动设置别名,可以通过使用 WordPress 的 save_post
钩子来实现。以下是相应的代码示例:
function set_slug_to_id_on_save( $post_ID, $post, $update ) {
// 检查当前操作是否是更新文章或创建新的草稿
if ( $update || wp_is_post_revision( $post_ID ) || 'auto-draft' === $post->post_status ) {
return;
}
// 将文章的别名设置为文章ID
$slug = $post->ID;
// 更新文章的别名
wp_update_post(
array(
'ID' => $post_ID,
'post_name' => $slug,
)
);
}
add_action( 'save_post', 'set_slug_to_id_on_save', 10, 3 );
将上述代码添加到主题的 functions.php
文件中并保存即可。现在,在首次保存文章之前,WordPress会自动将别名设置为文章的ID。
请注意,此代码还包括了一些额外的条件,以防止在更新文章、存档版本或自动草稿创建时触发别名更改。
0 个评论