wordpress收费下载资源主题
wordpress付费下载资源插件

wordpress如何发布文章时把别名slug自动设置为文章ID

要在WordPress中在写文章时自动设置文章别名为ID,您可以使用以下方法:

  1. 打开WordPress的主题文件夹,并找到functions.php文件。
  2. 在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 );
  1. 保存并上传修改后的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 个评论

定制开发
本站承接WordPress等系统建站仿站、二次开发、主题插件定制等开发服务
在线咨询
  • 请先加Q,临时会话收不到
    QQ:1-247-246-247

  • QQ一群:104228692(满)
  • QQ二群:64786792
在线咨询
本站承接WordPress建站仿站、二次开发、主题插件定制等PHP开发服务!

了解详情