我正在使用wp-ecommerce插件在Wordpress中创建购物车。
如果我在此网址上,则会显示服务wpsc-product-category中的所有产品。
http://localhost/wordpress/products-page/services/
如何在页面模板中获取wpsc-product-category id。
我有很多类别,如上所示,每个类别在page.php模板上都有不同的菜单。
我需要获取类别ID或类别slug以显示不同类别的不同菜单
在Google上搜索了一整天后,我发现了这个:
<?php
if(is_category())
{
$cat = get_query_var(‘cat’);
$yourcat = get_category($cat);
echo $yourcat->slug;
}
else
{
echo ‘Country’; //default one
}
?>
但它在page.php模板上不起作用。
我创建了自己的逻辑,它对我有用。在这里粘贴我的代码,希望它可以帮助别人:
if(wpsc_display_products()):
if(wpsc_is_in_category()) :
if(wpsc_category_id() == 89 ||
wpsc_category_id() == 66 ||
wpsc_category_id() == 62 ||
wpsc_category_id() == 61)
{
$menu = "menu1";
}else
{
$menu = "menu2";
}
endif;
endif;
答案 0 :(得分:0)
你有没有想过这个?我实际上可以用jQuery做到这一点。只需为每个类别创建一个单独的小部件,然后在您的js中写下这样的内容:
if ($('body').filter("[class*='category']").length) {
$('body').addClass('category');
$('.category-nav').show();
} else if ($('body').filter("[class*='category']").length) {
$('body').addClass('category');
$('.category-nav').show();
}
继续关注每个类别的else if
语句。如果你有很多类别,它可能是很多代码,但它为我做了诀窍。它只是遍历正文中的所有类,如果它包含任何类中的类别名称,它会将类别名称添加为它自己的类。
答案 1 :(得分:0)
我也一直在搜索如何在模板文件之外使用WPeC功能做任何事情,我在这里跑过这个网站:
Category wise products display in WP E-Commerce products page
我相信他提供的示例中存在一些编码错误,但您可以在此处查看他可以获取类别ID的位置:
$wpec_product_categories = get_terms( 'wpsc_product_category', 'hide_empty=0&parent=0' );
/* ---------- RUN A LOOP FOR EACH PRODUCT CATEGORIES ----------- */
foreach ( $wpec_product_categories as $wpec_categories ):
$wpec_term_id = $wpec_categories->term_id; // Here is your category ID
...
我已经使用了他的代码,并根据我的网站目的(在page.php
模板中)构建了一些代码,如果您愿意,可以查看。