要在WordPress中在写文章时自动设置文章别名为ID,您可以使用以下方法:
- 打开WordPress的主题文件夹,并找到functions.php文件。
- 在functions.php文件中添加以下代码:
1 |
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
钩子来实现。以下是相应的代码示例:
1 |
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">set_slug_to_id_on_save</span>(<span class="hljs-params"> <span class="hljs-variable">$post_ID</span>, <span class="hljs-variable">$post</span>, <span class="hljs-variable">$update</span> </span>) </span>{ <span class="hljs-comment">// 检查当前操作是否是更新文章或创建新的草稿</span> <span class="hljs-keyword">if</span> ( <span class="hljs-variable">$update</span> || <span class="hljs-title function_ invoke__">wp_is_post_revision</span>( <span class="hljs-variable">$post_ID</span> ) || <span class="hljs-string">'auto-draft'</span> === <span class="hljs-variable">$post</span>->post_status ) { <span class="hljs-keyword">return</span>; } <span class="hljs-comment">// 将文章的别名设置为文章ID</span> <span class="hljs-variable">$slug</span> = <span class="hljs-variable">$post</span>->ID; <span class="hljs-comment">// 更新文章的别名</span> <span class="hljs-title function_ invoke__">wp_update_post</span>( <span class="hljs-keyword">array</span>( <span class="hljs-string">'ID'</span> => <span class="hljs-variable">$post_ID</span>, <span class="hljs-string">'post_name'</span> => <span class="hljs-variable">$slug</span>, ) ); } <span class="hljs-title function_ invoke__">add_action</span>( <span class="hljs-string">'save_post'</span>, <span class="hljs-string">'set_slug_to_id_on_save'</span>, <span class="hljs-number">10</span>, <span class="hljs-number">3</span> ); |
将上述代码添加到主题的 functions.php
文件中并保存即可。现在,在首次保存文章之前,WordPress会自动将别名设置为文章的ID。
请注意,此代码还包括了一些额外的条件,以防止在更新文章、存档版本或自动草稿创建时触发别名更改。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。