如果查看默认的wpsc-products\\U页面。php模板,它使用
while (wpsc_have_products()) : wpsc_the_product();
而不是使用\\u posts()和\\u posts()来设置循环。
wpsc\\u The\\u product()函数设置产品变体函数使用的全局$wpsc\\u变体对象。
我认为,为了使用wpsc\\u the\\u product(),您需要将查询设置为全局$wp\\u查询,但您可以在打开循环后自行设置$wpsc\\u变体:
while ($loop->have_posts()) : $loop->the_post();
global $wpsc_variations;
$wpsc_variations = new wpsc_variations( get_the_ID() );
这有望使所有的产品变化功能都能正常工作。
这是完整的wpsc\\u the\\u product()函数。它还设置了全局$wpsc\\u custom\\u meta,这可能会对自定义元相关函数产生类似的影响,因此您可能需要考虑其他一些问题。
/**
* wpsc the product function, gets the next product,
* @return nothing
*/
function wpsc_the_product() {
global $wpsc_custom_meta, $wpsc_variations;
the_post();
$wpsc_custom_meta = new wpsc_custom_meta( get_the_ID() );
$wpsc_variations = new wpsc_variations( get_the_ID() );
}
希望这有帮助。