我的 WordPress 主题中有一个自定义帖子类型(工作)。
这种类型的帖子是由用户自己插入的,但如果插入两个或多个具有相同标题的职位,则标题将是:
www.mydomain.com/job/title-choosen-by-user
www.mydomain.com/job/title-choosen-by-user-2
www.mydomain.com/job/title-choosen-by-user-3
...
是否可以保留相同的 slug 并使用任何重写在 URL 中添加帖子 ID?结果将是:
www.mydomain.com/job/100/title-choosen-by-user
www.mydomain.com/job/101/title-choosen-by-user
www.mydomain.com/job/102/title-choosen-by-user
...
如有任何帮助,我们将不胜感激。 谢谢你
也许尝试在 WP 管理仪表板下的“设置”>“永久链接”中更改永久链接结构。
尝试:
/%post_id%/%postname%/
好吧,我找到了一个关于自定义永久链接结构的小但有效的教程
http://shibashake.com/wordpress-theme/custom-post-type-permalinks-part-2
是的,可以在 URL 中添加帖子 ID,以便在 WordPress 的 function.php 中添加以下代码。
function custom_job_permalink( $permalink, $post ) {
if ( 'job' === $post->post_type ) {
$permalink = trailingslashit( home_url( "/job/{$post->ID}/{$post->post_name}" ) );
}
return $permalink;
}
add_filter( 'post_type_link', 'custom_job_permalink', 10, 2 );
function custom_job_rewrite_rules( $rules ) {
$new_rules = array();
$new_rules['job/([0-9]+)/(.+)/?$'] = 'index.php?job=$matches[1]';
return array_merge( $new_rules, $rules );
}
add_filter( 'rewrite_rules_array', 'custom_job_rewrite_rules' );
聆听第一个函数修改职位发布类型的永久链接。 第二个功能是使用添加自定义重写规则到映射新 URL。