默认情况下,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);
?>
答案 0 :(得分:4)
只需在我的本地计算机上对其进行测试,发现define( 'WC_MAX_LINKED_VARIATIONS', 150 );
可以在functions.php
或wp-config.php
中使用。
它对您不起作用,因为 WC_MAX_LINKED_VARIATIONS
没有正确地用单引号 ''
括起来,而是用撇号括起来
‘’
:
define( ‘WC_MAX_LINKED_VARIATIONS’, 150 );
define( 'WC_MAX_LINKED_VARIATIONS', 150 );
进行上述更正后,您可以通过以下任意一种方式使用此常量:
functions.php
文件中输入正确的代码; functions.php
文件中完全删除,并将其添加到您的wp-config.php
文件中它应该为您工作。
警告
Problems with large amounts of data not saving (variations, rates etc) 。
答案 1 :(得分:2)
首先,您应该在'
中使用‘WC_MAX_LINKED_VARIATIONS’
(单引号)。然后,因为这与Ajax有关,所以最好的方法是使用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
文件中。
原因:此常量在
link_all_variations()
方法的WC_Ajax
类中定义如下:wc_maybe_define_constant( 'WC_MAX_LINKED_VARIATIONS', 49 );
因此,您可以在Woocommerce之前定义常量,其中
wc_maybe_define_constant()
不会为其设置任何值,使设置生效。
请参阅:How can we improve WooCommerce? Increase max # of Variations