这个问题已经在这里被问到了,How Add Custom Meta Fields to Dokan in New Product
但没人回答这个问题。我所要达到的目标如下:
需要在Dokan中显示自定义字段,插件作者用这个回答:“您必须自定义Dokan,以便在产品上传表单上添加一个额外的字段。请打开dokan/templates/products/new-Product.php,在这个文件中您必须添加一个额外的字段。由于我们不提供对插件进行自定义的支持,因此我无法提供更具体的说明:)"。
我已经使用Factory插件创建了自定义字段,它在中显示得很好。

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

发布于 2018-01-26 14:31:32
他也有同样的问题,他用以下的方式解决了这个问题。
在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_ --如果您想自定义select以不使用其他插件--这是另一种基于https://wedevs.com/support/topic/adding-metadata-to-product-form/的解决方案
发布于 2017-11-17 08:04:37
你需要覆盖你的杜坎插件模板。首先,您需要在活动主题的根目录中创建' dokan‘文件夹,然后需要在/plugins/dokan/ template /中找到dokan模板文件,并在主题文件夹中重新创建它并添加其他字段。之后,您需要通过update_user_meta函数在functions.php中保存新变量。
发布于 2019-05-29 05:28:19
默认情况下,这是不可能的,但您可以修改Dokan产品上传表单以添加自定义分类法。您可以通过子主题覆盖dokan-lite/templates/products文件夹,然后编辑必要的文件:)
现在,剩下的过程需要由您来完成。但是,在添加输入字段之后,您必须保存字段的值。在那个地方,您必须使用do_action( 'dokan_new_product_added', $product_id, $post_data );这个钩子来保存字段数据。
当您编辑该产品时,您必须使用do_action( 'dokan_product_updated', $post_id );重新保存。
https://stackoverflow.com/questions/46630600
复制相似问题