wordpress WP重写-将帖子ID添加到URL

cwdobuhd  于 2023-04-20  发布在  WordPress
关注(0)|答案(3)|浏览(169)

我有一个自定义的职位类型(工作)在我的WordPress主题。
这种类型的帖子是由用户自己插入的,但是如果两个或更多的职位被插入相同的标题,slug将是:

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中添加post 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
...

任何帮助都将不胜感激谢谢

bnl4lu3b

bnl4lu3b1#

也许可以尝试在WP管理面板下的设置〉固定链接中更改您的固定链接结构。
尝试:

/%post_id%/%postname%/
g52tjvyc

g52tjvyc2#

好吧,我找到了一个小,但自定义永久链接结构工作教程
http://shibashake.com/wordpress-theme/custom-post-type-permalinks-part-2

5kgi1eie

5kgi1eie3#

是的,可以在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' );

听第一个函数修改职位类型的永久链接。第二个函数是使用添加自定义重写规则到Map新URL。

相关问题