You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Dokan新增产品页添加自定义MP3字段并移除标签选项

在Dokan中添加MP3演示音频自定义字段并移除标签选项

一、添加商家MP3演示音频上传字段

1. 在Dokan产品编辑页面添加上传字段

将以下代码添加到主题的functions.php文件或自定义代码插件中,它会在产品编辑页面的主内容区域后添加MP3上传输入框和媒体选择按钮:

// 在Dokan产品编辑页面添加MP3上传字段
add_action('dokan_product_edit_after_main', 'dokan_add_mp3_demo_field');
function dokan_add_mp3_demo_field() {
    global $post;
    $mp3_url = get_post_meta($post->ID, '_dokan_mp3_demo', true);
    ?>
    <div class="dokan-form-group">
        <label for="mp3_demo" class="dokan-w3 dokan-control-label"><?php _e('MP3演示音频', 'dokan'); ?></label>
        <div class="dokan-w9">
            <input type="text" id="mp3_demo" name="mp3_demo" value="<?php echo esc_url($mp3_url); ?>" class="dokan-form-control" />
            <button type="button" class="dokan-btn dokan-btn-default dokan-upload-mp3-btn"><?php _e('选择音频', 'dokan'); ?></button>
        </div>
    </div>
    <script>
        jQuery(document).ready(function($) {
            $('.dokan-upload-mp3-btn').click(function(e) {
                e.preventDefault();
                var customUploader = wp.media({
                    title: '选择MP3音频',
                    button: {
                        text: '使用此音频'
                    },
                    library: {
                        type: 'audio/mp3'
                    },
                    multiple: false
                }).on('select', function() {
                    var attachment = customUploader.state().get('selection').first().toJSON();
                    $('#mp3_demo').val(attachment.url);
                }).open();
            });
        });
    </script>
    <?php
}

2. 保存MP3字段数据

添加以下代码确保新增或编辑产品时,MP3音频URL能被保存到产品元数据中:

// 保存MP3演示音频字段数据
add_action('dokan_new_product_added', 'dokan_save_mp3_demo_field');
add_action('dokan_product_updated', 'dokan_save_mp3_demo_field');
function dokan_save_mp3_demo_field($post_id) {
    if(isset($_POST['mp3_demo'])) {
        update_post_meta($post_id, '_dokan_mp3_demo', esc_url_raw($_POST['mp3_demo']));
    } else {
        delete_post_meta($post_id, '_dokan_mp3_demo');
    }
}

3. 在前端产品页面展示音频播放器

添加以下代码,在产品详情页展示HTML5音频播放器(可调整钩子优先级改变展示位置):

// 在前端产品页面展示MP3演示音频
add_action('woocommerce_single_product_summary', 'dokan_display_mp3_demo_player', 25);
function dokan_display_mp3_demo_player() {
    $mp3_url = get_post_meta(get_the_ID(), '_dokan_mp3_demo', true);
    if($mp3_url) {
        echo '<div class="dokan-mp3-demo">';
        echo '<h4>' . __('MP3演示', 'dokan') . '</h4>';
        echo '<audio controls>';
        echo '<source src="' . esc_url($mp3_url) . '" type="audio/mpeg">';
        _e('你的浏览器不支持音频播放', 'dokan');
        echo '</audio>';
        echo '</div>';
    }
}

二、移除Dokan产品编辑页面的“标签”选项

使用以下任意一种代码即可彻底移除标签选项(无需CSS隐藏):

方法1:移除标签Metabox

// 移除Dokan产品编辑页面的标签选项
add_filter('dokan_product_metaboxes', 'dokan_remove_product_tags_metabox');
function dokan_remove_product_tags_metabox($metaboxes) {
    if(isset($metaboxes['tags'])) {
        unset($metaboxes['tags']);
    }
    return $metaboxes;
}

方法2:取消产品对标签的支持

// 取消WooCommerce产品的标签支持
add_action('init', 'dokan_remove_product_tag_support');
function dokan_remove_product_tag_support() {
    unregister_taxonomy_for_object_type('product_tag', 'product');
}

内容的提问来源于stack exchange,提问作者user19768988

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 15:40:23