我偶然发现了一个非常酷的woocommerce片段,我想通过将其输入到我的function.php页面中来合并到我的网站中。我现在已经做到了,但问题是woocommerce现在从可变产品中提取变量,并将其显示在网站的前端。
是否有一种方法,我可以改变下面的代码,使用实际的名称,是给变量,而不是鼻涕虫?
下面是
代码/*product variations list table*/
function find_valid_variations() {
global $product;
$variations = $product->get_available_variations();
$attributes = $product->get_attributes();
$new_variants = array();
// Loop through all variations
foreach( $variations as $variation ) {
// Peruse the attributes.
// 1. If both are explicitly set, this is a valid variation
// 2. If one is not set, that means any, and we must 'create' the rest.
$valid = true; // so far
foreach( $attributes as $slug => $args ) {
if( array_key_exists("attribute_$slug", $variation['attributes']) && !empty($variation['attributes']["attribute_$slug"]) ) {
// Exists
} else {
// Not exists, create
$valid = false; // it contains 'anys'
// loop through all options for the 'ANY' attribute, and add each
foreach( explode( '|', $attributes[$slug]['value']) as $attribute ) {
$attribute = trim( $attribute );
$new_variant = $variation;
$new_variant['attributes']["attribute_$slug"] = $attribute;
$new_variants[] = $new_variant;
}
}
}
// This contains ALL set attributes, and is itself a 'valid' variation.
if( $valid )
$new_variants[] = $variation;
}
return $new_variants;}
感谢大家分享知识。
正如我们所得到的,产品变化鼻涕条,我们可以得到它的名字如下,
参考链接:https://gist.github.com/renegadesk/3967956
请用行号核对代码。, 80 ~ 91.
这里,我们可以直接提取变异名。(行不。86)通过,
woocommerce -> attribute_label