个性化阅读
专注于IT技术分析

主题设置后WordPress WooCommerce无法正常工作

我只想在主题中自定义woocommerce主题。但是问题是当我添加woocommerce模板的文件夹以覆盖woocommerce主题并添加此功能后:

function add_woocommerce_support() {
    add_theme_support( 'woocommerce' );
}
add_action( 'after_setup_theme', 'add_woocommerce_support' );

商店页面未显示产品列表。而是显示存档帖子。但是, 当我评论woocommerce主题设置的add_action时, 一切工作正常。看到这张图片:

在此处输入图片说明

我也有此功能来显示我的自定义帖子类型, 存档页面中的所有帖子:

function add_cpt_program_in_archive( $query ) {
    if ( !is_admin() && $query->is_archive() && $query->is_main_query() ) {
    $query->set( 'post_type', array('post', 'program' ) );
    }
}
add_action( 'pre_get_posts', 'add_cpt_program_in_archive' );

我还尝试在add_cpt_program_in_archive函数的条件下添加!is_shop()。所以它看起来像这样:

function add_cpt_program_in_archive( $query ) {
    if ( !is_admin() && $query->is_archive() && $query->is_main_query() && !is_shop() ) {
    $query->set( 'post_type', array('post', 'program' ) );
    }
}
add_action( 'pre_get_posts', 'add_cpt_program_in_archive' );

现在, 商店页面正在显示产品列表。但是问题是当我访问产品的类别页面时。示例未分类的类别。它不显示未分类类别的产品列表。看到这张图片:

在此处输入图片说明

对不起, 我的英语不好 :/


#1


我找到了解决方案。我在add_cpt_program_in_archive函数的条件下添加了此代码!$ query-> query_vars [‘product_cat’])。所以看起来像这样

function add_cpt_program_in_archive( $query ) {
    if ( !is_admin() && $query->is_archive() && $query->is_main_query() && !is_shop() && !$query->query_vars['product_cat']) {
    $query->set( 'post_type', array('post', 'program' ) );
    }
}
add_action( 'pre_get_posts', 'add_cpt_program_in_archive' );

但是我不知道这是正确的格式, 还是你们有一个更好的建议答案, 而不是我的解决方案。

赞(0) 打赏
未经允许不得转载:srcmini » 主题设置后WordPress WooCommerce无法正常工作
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏