php - 供应商产品视频
问题描述
我正在寻找一种方法让供应商将视频添加到他们的产品库中。(WordPress 上的 Dokan 插件)我尝试了这个钩子,但似乎缺少一些东西。任何时候都可以告诉我如何解决它。视频不显示。
<?php
}
add_action( 'dokan_new_product_added','save_add_product_meta', 10, 2 );
add_action( 'dokan_product_updated', 'save_add_product_meta', 10, 2 );
function save_add_product_meta($product_id, $postdata){
if ( ! dokan_is_user_seller( get_current_user_id() ) ) {
return;
}
if ( ! empty( $postdata['video'] ) ) {
update_post_meta( $product_id, 'video', $postdata['video'] );
}
if ( isset( $_FILES['video'] ) ) {
require_once( ABSPATH . 'wp-admin/includes/image.php' );
require_once( ABSPATH . 'wp-admin/includes/file.php' );
require_once( ABSPATH . 'wp-admin/includes/media.php' );
$attachment_id = media_handle_upload( 'video', 0 );
if ( is_wp_error( $attachment_id ) ) {
update_user_meta( $product_id, 'video', $_FILES['video'] . ": " . $attachment_id->get_error_message() );
} else {
update_user_meta( $product_id, 'video', $attachment_id );
}
}
}
//show on edit product page
add_action('dokan_product_edit_after_product_tags','show_on_edit_page',99,2);
function show_on_edit_page($post, $post_id){
$new_field = get_post_meta( $post_id, 'video', true );
?>
<div class="dokan-form-group">
<input type="hidden" name="video" id="dokan-edit-product-id" value="<?php echo esc_attr( $post_id ); ?>"/>
<label for="video"><?php esc_html_e( 'Product Video', 'woocommerce' ); ?></label>
</div>
</div> <?php
}
解决方案
推荐阅读
- typescript - 从泛型类型中获取属性类型
- java - setNavigationItemSelectedListener(this) 中的“this”指的是什么
- javascript - 如何使用 HTTP 客户端显示像 JSON 文件这样的搜索引擎结果?
- python - 将列表从数据框转换为 numpy 数组
- c - 为什么这个 int 不占用我数组的两个字节?
- command-line-arguments - 如何使用给定的一组参数来完成一个 GNU 长选项?
- three.js - ThreeJS 和 VR (WebXR) 调试
- python - 如何打印作为参数传入的函数?
- c# - Unity3D:时间尺度增加时,Mathf Lerp 太快
- apache-flink - 我如何在我的 flink 作业之间共享状态?