在Dokan供应商仪表板

时间:2017-10-08 11:30:22

标签: php wordpress dokan

这是How Add Custom Meta Fields to Dokan in New Product

已经提出的问题

但没有人回答这个问题。我想要实现的是:

需要在Dokan Vendor Dashboard中显示自定义字段,插件作者已回复此 "您必须自定义Dokan插件才能在产品上传表单中添加额外字段。请打开dokan-lite / templates / products / new-product.php,在此文件中,您必须添加一个额外的字段。由于我们不提供支持来定制我们的插件,我无法提供更具体的说明:)"

我已经使用Fields Factory插件创建了自定义字段,并且在“添加单个产品”页面中显示正常。Woocommerce Single Product Backend

但是我无法在下面的Dokan插件屏幕截图中添加该字段。

Dokan Vendor Dashboard

3 个答案:

答案 0 :(得分:1)

他遇到了同样的问题,他用以下方式解决了这个问题。

wp-content/plugins/dokan-pro/templates/products/product-edit.php

<div class="dokan-form-group">
    <div class="dokan-input-group">
        <span class="dokan-input-group-addon">Precio por: <?php echo get_post_meta( $post->ID, "wccaf_precio_por_", true ); ?></span>
        <div class="dokan-w4">
            <select class="wccaf-field " name="wccaf_precio_por_" wccaf-type="select" wccaf-pattern="mandatory" wccaf-mandatory="yes">
                <option value="wccpf_none">Precio corresponde a :</option>
                <option value="Caja">Caja</option>
                <option value="mt2">mt2</option>
                <option value="c/u">c/u</option>
                <option value="Galón">Galón</option>
            </select>
        </div>
    </div>
</div>

然后在wp-content/themes/you-template/funtions.php中添加:

add_action( 'woocommerce_process_product_meta', 'x_add_fields_save' );
add_action( 'dokan_process_product_meta', 'x_add_fields_save' );
add_action( 'dokan_new_product_added', 'x_add_fields_save' );

function x_add_fields_save( $post_id ){
    // Number Field
    $woocommerce_wccaf_precio_por_ = $_POST['wccaf_precio_por_'];
    if( !empty( $woocommerce_wccaf_precio_por_) )
        update_post_meta( $post_id, 'wccaf_precio_por_', esc_attr( $woocommerce_wccaf_precio_por_ ) );
}

我正在使用另一个插件来控制作为wc字段工厂https://wordpress.org/plugins/wc-fields-factory/的字段,这就是为什么我使用缩写wccaf_ 如果你想自定义选择不使用另一个插件,这是我的另一个解决方案 https://wedevs.com/support/topic/adding-metadata-to-product-form/

答案 1 :(得分:0)

您需要覆盖dokan插件模板。首先,您需要在活动主题的根目录中创建“dokan”文件夹,之后,您需要在/ plugins / dokan / templates /中找到dokan模板文件,并在主题文件夹中重新创建它并添加其他字段。之后,您需要通过functions.php

中的update_user_meta函数保存新变量

答案 2 :(得分:0)

默认情况下,这是不可能的,但是您可以修改Dokan产品上传表单以添加自定义分类法。您可以通过子主题覆盖dokan-lite/templates/products文件夹,然后编辑所需的文件:)

现在剩下的过程需要您完成。但是,在添加输入文件之后,您必须保存该字段的值。在那个地方,您必须使用do_action( 'dokan_new_product_added', $product_id, $post_data );这个钩子来保存字段数据。

那时候您要编辑产品时,必须使用do_action( 'dokan_product_updated', $post_id );重新保存。