改变Woocommerce显示的变化量

问题描述 投票:4回答:2

默认情况下Woocommerce加载每次运行50种变化。

在网上搜索,我发现在functions.php文件中输入的代码行,我动的孩子的主题。

define( ‘WC_MAX_LINKED_VARIATIONS’, 150);

functions.php文件复制之后,我并没有得到改变,并仍正在加载的50种变化,而不是150,因为我在这行代码表示。

这是functions.php文件:

<?php

//CARGA EL STYLE.CSS DEL TEMA PADRE EN EL TEMA HIJO

add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}

//Incremento de las variaciones en Woocommerce  
define( ‘WC_MAX_LINKED_VARIATIONS’, 150);

?>
php wordpress woocommerce constants variations
2个回答
4
投票

只是测试它在我的本地机器上,发现define( 'WC_MAX_LINKED_VARIATIONS', 150 );可以在functions.phpwp-config.php使用。

它不为你工作,因为WC_MAX_LINKED_VARIATIONS是没有正确单引号括'',而是被撇‘’封闭:

  • 不正确:define( ‘WC_MAX_LINKED_VARIATIONS’, 150 );
  • 正确:define( 'WC_MAX_LINKED_VARIATIONS', 150 );

使上述修正后,您可以在以下任一方式使用此常数:

  1. 要么把正确的代码在你的functions.php文件;
  2. 或完全从functions.php文件中删除,并在您wp-config.php文件中添加它

它应该为你工作。

警告

  1. 如果你要提高限额,确保你的服务器/主机可以处理增加的限制,因为它是资源密集型任务。
  2. 如果您的数据不保存,如下面的WooCommerce文档中说,它可能是一个服务器/主机配置问题。

Problems with large amounts of data not saving (variations, rates etc)


2
投票

首先,你应该使用' ‘WC_MAX_LINKED_VARIATIONS’(单引号)代替。然后,因为这是关系到阿贾克斯,最好的办法是使用init挂钩这种方式来定义常量:

add_action( 'init', 'change_max_variations_linked' );
function change_max_variations_linked(){
    define( 'WC_MAX_LINKED_VARIATIONS', 150 );
}

代码放在您的活动子主题的function.php文件(或活动主题)。测试和工程。

或者你也可以define( 'WC_MAX_LINKED_VARIATIONS', 150 );添加到您的wp-config.php文件。

原因:此常数在WC_Ajax方法如下link_all_variations()类定义:

wc_maybe_define_constant( 'WC_MAX_LINKED_VARIATIONS', 49 );

所以这样你Woocommerce,其中wc_maybe_define_constant()不会为它设置的任何值,让你的设置生效之前定义的常量。


请参阅:How can we improve WooCommerce? Increase max # of Variations

© www.soinside.com 2019 - 2024. All rights reserved.