【问题标题】:Displaying custom Select field in Dokan Vendor Dashboard在 Dokan 供应商仪表板中显示自定义选择字段
【发布时间】:2017-10-08 11:30:21
【问题描述】:

这个问题已经在这里问过How Add Custom Meta Fields to Dokan in New Product

但是没有人回答这个问题。我想要达到的目标如下:

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

我已经使用 Fields Factory 插件创建了自定义字段,并且它在添加单个产品页面中显示良好。

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

【问题讨论】:

    标签: php wordpress dokan


    【解决方案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/

    【讨论】:

    • 我一直在到处寻找这个。谢谢!
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2020-01-05
        • 2021-07-07
        • 2021-05-15
        • 1970-01-01
        • 2020-09-19
        • 2016-12-13
        • 2012-09-08
        • 1970-01-01
        • 2021-05-05
        相关资源
        最近更新 更多