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

时间:2019-08-12 04:52:44

标签: wordpress woocommerce wordpress-theming custom-post-type woocommerce-theming

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

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

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

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

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' );

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

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

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。我在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' );

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