WordPress 代码实现自定义文章类型的固定链接结构

释放双眼,带上耳机,听听看~!

之前小编写过一篇Wordpress代码创建自定义分类与自定义文章类型的文章,在那篇文章中小编还提出了一个疑问。

WordPress创建商品类型和商品分类法

自定义分类法链接结构

即:自定义文章类型的链接 /shop自定义分类法的链接 /shops 是不一致的,这个问题小编经过详细了解了wordpress的参数后终于解决了。

问题解决的方法仅仅只需要一个参数而已,如下

'rewrite' => array( 'slug' => 'shop', 'with_front' => false ),

只需要在上次小编写的自定义分类法和自定义文章类型的代码中加上这串参数即可,参数意思就是重写自定义文章类型的链接。

好了,上次的问题完美解决,下面要改的是自定义文章类型的固定链接结构。

自定义文章类型的固定链接结构

在创建了自定义文章类型后,大家会发现发布的产品链接会是 以 别名形式 展示的,如:/shop/苏打粉。

是的,如果不手动修改这个链接,在后台显示是中文,但在浏览器显示那就是一串乱码了。毫无疑问这非常不美观且不利于搜索引擎收录。所以需要将其修改为文章一样的以 ID形式 的链接,即 /shop/123.html。

话不多说,直接上代码,其中 shop 这个是文章类型,需要修改为自己创建的名称。

/*
*  设置自定义文章类型的固定链接 已ID形式显示
*  https://www.mfisp.com/2346.html
*/
add_filter('post_type_link','custom_shop_link',1,3);
function custom_shop_link($link, $post=0){
    if ($post->post_type == 'shop') {
        return home_url('shop/'.$post->ID.'.html' );
    }else{
        return $link;
    }
}
add_action('init','custom_shop_rewrites_init');
function custom_shop_rewrites_init(){
    add_rewrite_rule('server/([0-9]+)?.html$', 'index.php?post_type=shop&p=$matches[1]','top');
    add_rewrite_rule('server/([0-9]+)?.html/comment-page-([0-9]{1,})$', 'index.php?post_type=shop&p=$matches[1]&cpage=$matches[2]','top');
}

建议更新了以上代码后,重新保存一下固定链接,防止404,位置在wordpress后台设置 - 固定链接。

文章链接: https://www.mfisp.com/2346.html

文章标题:WordPress 代码实现自定义文章类型的固定链接结构

文章版权:梦飞科技所发布的内容,部分为原创文章,转载请注明来源,网络转载文章如有侵权请联系我们!

给TA买糖
共{{data.count}}人
人已赞赏
建站教程

Wordpress 函数get_template_part()使用介绍

2021-11-26 16:25:30

建站教程

WordPress 文章中的标签Tag自动增加链接

2021-12-2 14:50:40

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧

梦飞科技 - 最新云主机促销服务器租用优惠