我只想在主题中自定义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' );
现在, 商店页面正在显示产品列表。但是问题是当我访问产品的类别页面时。示例未分类的类别。它不显示未分类类别的产品列表。看到这张图片:
文章图片
【主题设置后WordPress WooCommerce无法正常工作】对不起, 我的英语不好 :/
#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' );
但是我不知道这是正确的格式, 还是你们有一个更好的建议答案, 而不是我的解决方案。
推荐阅读
- WordPress WooCommerce插件的特色图片大小与特色图片不同
- WordPress + Woocommerce(存在2个属性时,隐藏不可用的变体)
- WordPress窗口小部件未显示在(AdminPanel)上
- WordPress Visual Composer减慢网站速度
- WordPress迁移后怎么白屏了
- WordPress-根据季节变化主题和布局()
- AlmaLinux镜像在阿里云镜像站首发上线
- vnc的安装
- 存储结构与管理硬盘(part2)