WordPress自定义主题中WooCommerce产品选项未显示于屏幕选项的代码求助
解决WooCommerce产品相关选项未显示在后台屏幕选项的问题
嘿,我完全懂你遇到的困扰——自定义主题下,后台的屏幕选项里找不到WooCommerce的「产品」及相关分类选项,这确实会影响你管理产品的效率。别慌,我们可以通过在主题的functions.php文件中添加几段代码来修复这个问题,下面给你详细的解决方案:
第一步:确保主题支持WooCommerce
很多时候,自定义主题没有明确声明支持WooCommerce,会导致部分后台功能受限。先添加这段代码来开启主题对WooCommerce的支持:
// 让自定义主题支持WooCommerce核心功能 add_action( 'after_setup_theme', 'my_enable_woocommerce_support' ); function my_enable_woocommerce_support() { add_theme_support( 'woocommerce' ); // 可选:开启产品图库的缩放、灯箱和滑动功能(根据你的需求选择) add_theme_support( 'wc-product-gallery-zoom' ); add_theme_support( 'wc-product-gallery-lightbox' ); add_theme_support( 'wc-product-gallery-slider' ); }
第二步:强制添加产品分类/标签的屏幕选项
如果添加完上面的代码后,产品分类(或标签)的屏幕选项还是没出来,就需要手动把这些选项加回去。下面的代码会为产品分类和标签添加默认的WooCommerce列选项:
// 为产品分类添加屏幕选项列 add_filter( 'manage_edit-product_cat_columns', 'my_add_product_cat_screen_columns' ); function my_add_product_cat_screen_columns( $columns ) { $columns['thumbnail'] = __( '缩略图', 'woocommerce' ); $columns['description'] = __( '描述', 'woocommerce' ); $columns['slug'] = __( '别名', 'woocommerce' ); $columns['count'] = __( '产品数量', 'woocommerce' ); return $columns; } // 让产品分类的「产品数量」列可排序 add_filter( 'manage_product_cat_sortable_columns', 'my_make_product_cat_columns_sortable' ); function my_make_product_cat_columns_sortable( $columns ) { $columns['count'] = 'count'; return $columns; } // 为产品标签添加屏幕选项列(如果需要的话) add_filter( 'manage_edit-product_tag_columns', 'my_add_product_tag_screen_columns' ); function my_add_product_tag_screen_columns( $columns ) { $columns['slug'] = __( '别名', 'woocommerce' ); $columns['count'] = __( '产品数量', 'woocommerce' ); return $columns; } add_filter( 'manage_product_tag_sortable_columns', 'my_make_product_tag_columns_sortable' ); function my_make_product_tag_columns_sortable( $columns ) { $columns['count'] = 'count'; return $columns; }
第三步:修复产品列表页面的屏幕选项
如果是产品列表页面(后台「产品」主页面)的屏幕选项缺失,用这段代码来恢复WooCommerce相关的列:
// 为产品列表页面添加WooCommerce专属屏幕选项列 add_filter( 'manage_edit-product_columns', 'my_add_product_list_screen_columns' ); function my_add_product_list_screen_columns( $columns ) { // 保留原有列的基础上,添加SKU、库存、价格这些WooCommerce核心列 $columns['sku'] = __( 'SKU', 'woocommerce' ); $columns['stock'] = __( '库存', 'woocommerce' ); $columns['price'] = __( '价格', 'woocommerce' ); return $columns; }
操作注意事项
- 操作前一定要备份主题的
functions.php文件,避免代码错误导致网站崩溃; - 把代码复制到
functions.php文件的末尾即可; - 刷新后台后,点击页面右上角的「屏幕选项」,就能看到新增的WooCommerce相关选项了;
- 如果还是没效果,可能是其他插件冲突,可以暂时禁用非必要插件排查,或者检查主题中是否有过滤屏幕选项的代码。
内容的提问来源于stack exchange,提问作者Nicla Marino
相关产品推荐
相关产品推荐

