更改Woocommerce中显示的变化量

时间:2019-02-05 02:29:27

标签: php wordpress woocommerce constants variations

默认情况下,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);

?>

2 个答案:

答案 0 :(得分: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)

答案 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