iframe 的 Woocommerce 产品自定义字段无法正常工作
Posted
技术标签:
【中文标题】iframe 的 Woocommerce 产品自定义字段无法正常工作【英文标题】:Woocommerce Product Custom Field for iframe not work correctly 【发布时间】:2021-12-30 06:25:14 【问题描述】:我通过以下代码为 woocommerce 产品创建了一个自定义字段。我想使用此自定义字段来存储 iframe 代码并将其显示在产品单页中。 但是存储在数据库中的数据和输出代码有错误,并且与 xustom 字段文本输入中输入的代码不同
我的代码:
add_action('woocommerce_product_options_sku', 'add_product_video_field' );
function add_product_video_field()
woocommerce_wp_text_input( array(
'id' => '_product_video_field',
'label' => __('video iframe code', 'woocommerce' ),
'placeholder' => __('video iframe code', 'woocommerce' ),
'desc_tip' => true,
'description' => __('video iframe code.', 'woocommerce' ),
) );
add_action('woocommerce_admin_process_product_object', 'save_product_video_field', 10, 1 );
function save_product_video_field( $product )
if( isset($_POST['_product_video_field']) )
$product->update_meta_data( '_product_video_field', esc_attr($_POST['_product_video_field']) );
我在输入文本字段中输入的代码:
<style>.h_iframe-aparat_embed_frameposition:relative;.h_iframe-aparat_embed_frame .ratiodisplay:block;width:100%;height:auto;.h_iframe-aparat_embed_frame iframeposition:absolute;top:0;left:0;width:100%;height:100%;</style><div class="h_iframe-aparat_embed_frame"><span style="display: block;padding-top: 57%"></span><iframe src="https://www.aparat.com/video/video/embed/videohash/AtP2j/vt/frame" title="بِیبی میخواد آپاراتِ کودک" allowFullScreen="true" webkitallowfullscreen="true" mozallowfullscreen="true"></iframe></div>
我的自定义字段输出并存储在数据库中:
<style>.h_iframe-aparat_embed_frameposition:relative;.h_iframe-aparat_embed_frame .ratiodisplay:block;width:100%;height:auto;.h_iframe-aparat_embed_frame iframeposition:absolute;top:0;left:0;width:100%;height:100%;</style><div class=\"h_iframe-aparat_embed_frame\"><span style=\"display: block;padding-top: 57%\"></span><iframe src=\"https://www.aparat.com/video/video/embed/videohash/AtP2j/vt/frame\" title=\"بِیبی میخواد آپاراتِ کودک\" allowFullScreen=\"true\" webkitallowfullscreen=\"true\" mozallowfullscreen=\"true\"></iframe></div>
我如何更改它以使用 iram 或任何脚本? 谢谢
【问题讨论】:
【参考方案1】:您可以使用以下代码解决此问题,
<?php $get_data_fromdb = get_post_meta( YOUR_PRODUCT_ID_HERE, '_product_video_field' );
echo htmlspecialchars_decode(stripslashes($get_data_fromdb[0]));
>
htmlspecialchars_decode此函数会将代码视为html。
【讨论】:
以上是关于iframe 的 Woocommerce 产品自定义字段无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章
在 WooCommerce 中将购物车商品限制为来自同一产品类别
WooCommerce 中多个国家/地区的基于地理位置的自定义重定向