WordPress网站B2主题美化之商品文章标签化

WordPress网站B2主题美化之商品文章标签化:B2主题为文章和商品使用同一套标签功能,但是当我们点击标签的时候,标签的存档页面中只有文章,没有相关的商品。这个教程就来实现,让标签存档页面也显示相关的商品,就可以看到有商品也有文章。

WordPress网站B2主题美化之商品文章标签化插图

标签存档显示相关商品

要实现这个功能,只需要将下面的代码添加到子主题的 functions.php 即可

(本文转载自WordPress大学,感谢站长分享,原文链接:https://www.wpdaxue.com/docs/b2/b2-dev/tag-archive-args)

/**
* 让标签存档页面显示相关商品
* https://www.xcbtmw.com/26144.html
*/
function b2child_add_products_to_tag_archive( $args, $data ) {
if( isset($data['post_tag']) && !empty($data['post_tag']) ){

$args['post_type'] = array( 'post', 'shop' ); // 显示文章post和商品shop

}
return $args;
}
add_action( 'b2_post_loop_args', 'b2child_add_products_to_tag_archive', 20, 2 );

标签存档显示相关商品的商品分类

仅仅添加上面的代码,我们就可以在标签存档中看到相关的商品,但是,你会发现无法显示【商品分类】,比如上面图片中的【正版软件】,还需要在function.php添加下面的代码:

/**
* 在post文章类型增加shop商品的分类显示
* https://www.xcbtmw.com/26144.html
*/
function b2child_post_meta_filter( $meta, $post_id ) {
$post_type = get_post_type( $post_id );
if( $post_type == 'shop' ) { // 针对商品shop这个文章类型获取商品分类

$post_cats = get_the_terms( $post_id, 'shoptype' );
$cats_data = array();
foreach($post_cats as $cat){
if(isset($cat->term_id)){
$color = get_term_meta($cat->term_id,'b2_tax_color',true);
$color = $color ? $color : '#607d8b';
$link = get_term_link( $cat->term_id, 'shoptype' );

$cats_data[] = array(
'name'=>$cat->name,
'color'=>$color,
'link'=>$link
);
}
}
unset($post_cats);

$meta['cats'] = $cats_data;
}
return $meta;
}
add_filter('b2_get_post_metas', 'b2child_post_meta_filter', 10, 2);
温馨提示:
1.本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:duhaomu@163.com,我们将第一时间处理!
2.资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。
3.所有资源仅限于参考和学习,版权归原作者所有,更多请阅读网站声明

给TA赞赏
共{{data.count}}人
人已赞赏
未整理

网红动漫Coser@rioko凉凉子 吉他妹妹2.0 33P

2023-3-30 0:00:00

未整理

与浪花共舞吧

2023-3-31 0:00:00

0 条回复 A文章作者 M管理员
----《》
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索