Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress 如何让产品变体自定义字段与其他插件一起工作?_Wordpress_Woocommerce - Fatal编程技术网

Wordpress 如何让产品变体自定义字段与其他插件一起工作?

Wordpress 如何让产品变体自定义字段与其他插件一起工作?,wordpress,woocommerce,Wordpress,Woocommerce,我得到这段代码(见下文)来创建一个产品变体自定义字段。它很好用。现在我需要使用WP All Import Pro插件从csv文件导入产品。此插件允许通过将csv中的信息映射到产品和产品变体字段来创建导入任务 问题:问题是新创建的产品变体自定义字段对于WP All导入插件不可见。我的意思是,当我映射要导入的数据时,这个新字段没有列出 我的假设是,这段代码无法在数据库中创建一些数据,以使此字段可用于其他模块 我怎样才能让它正常工作 我还附上了一个WP All Import页面的捕获,该页面中的字段应

我得到这段代码(见下文)来创建一个产品变体自定义字段。它很好用。现在我需要使用WP All Import Pro插件从csv文件导入产品。此插件允许通过将csv中的信息映射到产品和产品变体字段来创建导入任务

问题:问题是新创建的产品变体自定义字段对于WP All导入插件不可见。我的意思是,当我映射要导入的数据时,这个新字段没有列出

我的假设是,这段代码无法在数据库中创建一些数据,以使此字段可用于其他模块

我怎样才能让它正常工作

我还附上了一个WP All Import页面的捕获,该页面中的字段应该是可见的

/*******************************
add custom fields to product variations 
*********************************/
// regular variable products
add_action( 'woocommerce_product_after_variable_attributes', 'add_to_variations_metabox', 10, 3 );
add_action( 'woocommerce_save_product_variation', 'save_product_variation', 20, 2 );


/*
 * Add new inputs to each variation
 *
 * @param string $loop
 * @param array $variation_data
 * @return print HTML
 */
function add_to_variations_metabox( $loop, $variation_data, $variation ){

    $custom = get_post_meta( $variation->ID, '_custom', true ); ?>

        <div class="variable_custom_field">
            <p class="form-row form-row-first">
                <label><?php echo __( 'MY CUSTOM FIELD:', 'plugin_textdomain' ); ?></label>
                <input type="text" size="5" name="variation_custom_data[<?php echo $loop; ?>]" value="<?php echo esc_attr( $custom ); ?>" />
            </p>
        </div>

    <?php 

}

/*
 * Save extra meta info for variable products
 *
 * @param int $variation_id
 * @param int $i
 * return void
 */
function save_product_variation( $variation_id, $i ){

    // save custom data
    if ( isset( $_POST['variation_custom_data'][$i] ) ) {
        // sanitize data in way that makes sense for your data type
        $custom_data = ( trim( $_POST['variation_custom_data'][$i]  ) === '' ) ? '' : sanitize_title( $_POST['variation_custom_data'][$i] );
        update_post_meta( $variation_id, '_custom', $custom_data );
    }

}
/*******************************
向产品变体添加自定义字段
*********************************/
//正则变量积
添加操作(“在变量属性之后添加商品”,“将变量添加到元框”,10,3);
添加操作('woocommerce\u save\u product\u variation','save\u product\u variation',20,2);
/*
*为每个变量添加新的输入
*
*@param string$loop
*@param数组$variation\u数据
*@return打印HTML
*/
函数add_to_variations_metabox($loop,$variation_data,$variation){
$custom=get_post_meta($variation->ID,'u custom',true);?>


WP ALL IMPORT将此节编码到其文件中。他们没有提供任何挂钩或筛选器来向此节添加字段

这里最重要的是,WP ALL IMPORT的想法如下:

由于一个特定变量的所有元最终都会添加到post Meta表中。get_post_Meta将以get_Meta的形式检索该表。就像自定义字段一样。因此,为了将元附加到变量,您可以使用另一个自定义字段,该字段的名称作为实际元存储的名称,并使用希望变量使用的值请注意。只需检查所附图像。参考-


WP ALL IMPORT将此部分编码到其文件中。他们没有提供任何钩子或筛选器来将字段添加到此部分

这里最重要的是,WP ALL IMPORT的想法如下:

由于一个特定变量的所有元最终都会添加到post Meta表中。get_post_Meta将以get_Meta的形式检索该表。就像自定义字段一样。因此,为了将元附加到变量,您可以使用另一个自定义字段,该字段的名称作为实际元存储的名称,并使用希望变量使用的值请注意。只需检查所附图像。参考-


我知道这个问题几乎是在一年前提出的,但我一直在努力解决这个问题。但最终我设法找到了一个解决办法,至少可以让您将数据输入到变体中,而不是主母产品中:

1) 在WpAllImport Wordpress插件中,您将能够看到屏幕截图中显示的“变体”选项卡。单击此按钮

2) 在此页面上,您将再次无法看到为变体创建的任何自定义字段,但是有一个产品属性部分

3) 如果将变体添加为属性,并取消选中“在变体中显示”和“分类法”以及“可见”,则可以将数据存储在属性中

4) 导入后,您应该能够在属性中看到数据,如果您知道一些编程,您甚至可以编写一个脚本,然后循环所有变体并将此数据复制到自定义字段

我知道这并不多,但出于我的目的,我至少能够将数据保存在变体中,然后在产品导出插件的后期使用


希望这能有所帮助!

我知道这个问题几乎在一年前就被问到了,但我一直在努力解决这个问题。但最终我找到了一个解决办法,至少可以让您将数据输入变体,而不是主母产品:

1) 在WpAllImport Wordpress插件中,您将能够看到屏幕截图中显示的“变体”选项卡。单击此按钮

2) 在此页面上,您将再次无法看到为变体创建的任何自定义字段,但是有一个产品属性部分

3) 如果将变体添加为属性,并取消选中“在变体中显示”和“分类法”以及“可见”,则可以将数据存储在属性中

4) 导入后,您应该能够在属性中看到数据,如果您知道一些编程,您甚至可以编写一个脚本,然后循环所有变体并将此数据复制到自定义字段

我知道这并不多,但出于我的目的,我至少能够将数据保存在变体中,然后在产品导出插件的后期使用


希望这会有所帮助!

虽然这个问题最初是在两年前提出的。我在2020年找到了一个解决方案。我希望这将帮助任何仍在寻找解决方案的人

请转到所有产品,在顶部显示添加新产品,您应该会看到另外两个按钮“导入”和“导出”。单击导出,您将看到复选框“是,导出所有自定义元”的选项。请选中此药剂,您的所有自定义域(即使在变体中)都将导出


谢谢

尽管这个问题最初是在两年前提出的。我在2020年找到了一个解决方案。我希望这将帮助任何仍在寻找解决方案的人

请转到所有产品,顶部显示添加新产品,您将看到另外两个按钮“导入”和“导出”。单击导出,您将看到复选框“是,导出所有自定义元”的选项。请选中此药剂和所有自定义字段