Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为WooCommerce中的产品添加自定义设置选项卡,该选项卡允许显示iframe_Php_Wordpress_Woocommerce_Product_Custom Fields - Fatal编程技术网

Php 为WooCommerce中的产品添加自定义设置选项卡,该选项卡允许显示iframe

Php 为WooCommerce中的产品添加自定义设置选项卡,该选项卡允许显示iframe,php,wordpress,woocommerce,product,custom-fields,Php,Wordpress,Woocommerce,Product,Custom Fields,我正在创建一个插件,它将改变woocommerce中图库的外观。也就是说,将打开一个iframe而不是gallery。这适用于所有产品 add_filter( 'woocommerce_single_product_image_thumbnail_html', 'product_image'); function product_image(){ $product = wc_get_product(); $product_id = $product->get_id();

我正在创建一个插件,它将改变woocommerce中图库的外观。也就是说,将打开一个iframe而不是gallery。这适用于所有产品

add_filter( 'woocommerce_single_product_image_thumbnail_html', 'product_image');

function product_image(){
    $product = wc_get_product();
    $product_id = $product->get_id();
    $threedLink = 'http://sameurl/' .$product_id ;
    $content .= '<iframe src='.$threedLink.'  width="99%" height="300px"></iframe>';
    return $content;

}
add_filter('woocommerce_single_product_image_缩略图_html','product_image');
函数乘积_image(){
$product=wc_get_product();
$product_id=$product->get_id();
$threedLink=http://sameurl/“.$product_id;
$content.='';
返回$content;
}
但我需要的不是所有的产品,而是选择的产品。也就是说,在产品的整个加载过程中,您需要创建一个复选标记,管理员必须同意在其中显示iframe。我在产品加载面板中创建了一个选项卡

function wk_custom_product_tab( $default_tabs ) {
    $default_tabs['custom_tab'] = array(
        'label'   =>  __( 'Custom Tab', 'domain' ),
        'target'  =>  'wk_custom_tab_data',
        'priority' => 60,
        'class'   => array()
    );
    return $default_tabs;
}

add_filter( 'woocommerce_product_data_tabs', 'wk_custom_product_tab', 10, 1 );

add_action( 'woocommerce_product_data_panels', 'wk_custom_tab_data' );

function wk_custom_tab_data() {
   echo '<div id="wk_custom_tab_data" class="panel woocommerce_options_panel">ddddd</div>';
}
功能工作\自定义\产品\选项卡($default\选项卡){
$default_tabs['custom_tab']=数组(
'label'=>\('Custom Tab','domain'),
'目标'=>'工作\自定义\选项卡\数据',
“优先级”=>60,
'class'=>array()
);
返回$default_选项卡;
}
添加过滤器('woocommerce\u product\u data\u tabs','wk\u custom\u product\u tab',10,1);
添加操作(“woocommerce\u product\u data\u panels”、“wk\u custom\u tab\u data”);
函数wk_自定义_选项卡_数据(){
回声“ddddd”;
}
如何添加复选标记而不是DDD,并将其与插件下载连接?

  • 添加自定义产品选项卡
  • 将内容添加到产品选项卡(复选框)
  • 保存复选框
  • 获取值“是”或“否”,如果是,则显示iframe
/**
*添加自定义产品设置选项卡。
*/
功能过滤器\商业\产品\数据\选项卡($默认\选项卡){
$default_tabs['custom_tab']=数组(
'label'=>\('Custom Tab','domain'),
'目标'=>'工作\自定义\选项卡\数据',
“优先级”=>60,
'class'=>array()
);
返回$default_选项卡;
}
添加过滤器('woocommerce\产品\数据\选项卡','filter\ woocommerce\产品\数据\选项卡',10,1);
/**
*内容自定义产品设置选项卡。
*/
功能动作\商业\产品\数据\面板(){
全球$员额;
//注意,“id”属性需要与上面设置的“target”参数匹配
回声';
//添加复选框
woocommerce\u wp\u复选框(数组(
'id'=>'\u allow\u iframe',
'label'=>\('Allow iFrame','woocommerce'),
) );
回声';
}
添加操作('woocommerce\u product\u data\u panels','action\u woocommerce\u product\u data\u panels',10,0);
/**
*保存复选框。
*/
功能操作\商业\管理\流程\产品\对象($product){
//是还是不是
$allow_iframe=isset($_POST['''u allow_iframe'])?“是”:“否”;
//更新元
$product->update_meta_数据('allow_iframe',$allow_iframe);
}
添加操作('woocommerce\u admin\u process\u product\u object','action\woocommerce\u admin\u process\u product\u object',10,1);
/**
*如果复选框为“是”,则显示iframe
*/
函数过滤器\u商业\u单一产品\u图像\u缩略图\u html($html,$post\u缩略图\u id){
//获取全局产品对象
全球$产品;
//是一种WC产品
如果(是($product,'WC\U product')){
//得到元
$value=$product->get_meta('u allow_iframe');
//值='是'
如果($value=='yes'){
//获取产品id
$product_id=$product->get_id();
$threed_链接http://myurl/“.$product_id;
$html.='';
}
}
返回$html;
}
添加过滤器('woocommerce\u single\u product\u image\u thumbnail\u html','filter\u woocommerce\u single\u product\u image\u thumbnail\u html',10,2);

谢谢,它很有效。但是我需要他放iframe而不是照片,不要把它添加到照片中。我刚刚接触php((我不太了解如何在下一行查看$html.=”,但还有一个问题。如何使用iframe打开某些样式。$html可以设置一些类?