Php 在dokan中为Woocommerce产品集成自定义复选框

Php 在dokan中为Woocommerce产品集成自定义复选框,php,wordpress,woocommerce,hook-woocommerce,dokan,Php,Wordpress,Woocommerce,Hook Woocommerce,Dokan,我是代码领域的新手,我正在使用Woocommerce和Dokan插件 我将下面的代码添加到添加产品页面,但我需要将此代码作为编辑页面或单个产品页面与Woocommerce中的nexts页面集成: add_action('dokan_new_product_tags'、'new_product_field',10); 函数新\产品\字段(){?> 特拉巴霍区 联邦首都 BsAs G.B.A Norte BsAs G.B.A Oeste 南澳大利亚州政府银行股份有限公司 我想知道,我该如何将带有钩

我是代码领域的新手,我正在使用Woocommerce和Dokan插件

我将下面的代码添加到添加产品页面,但我需要将此代码作为编辑页面或单个产品页面与Woocommerce中的nexts页面集成:

add_action('dokan_new_product_tags'、'new_product_field',10);
函数新\产品\字段(){?>
特拉巴霍区
联邦首都
BsAs G.B.A Norte
BsAs G.B.A Oeste
南澳大利亚州政府银行股份有限公司
我想知道,我该如何将带有钩子的代码与页面的其余部分集成起来

我只有这个表,但它不是什么都没有。有什么帮助吗?

受Github(from)的启发,您可以在下面找到重新访问的代码,其中包含一些额外的函数,这些函数应该可以处理您的一些需求(注释):

//额外复选框的字段设置
函数获取\工作\选项\字段\设置(){
$text_domain='dokan lite';
返回数组(
“名称”=>“工作区”,
“title”=>(Zona de trabajo,$text\u域),
“字段”=>数组(
“1”=>uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu,
“2”=>“(BsAs G.B.A Norte,$text\u域),
“3'=>”(“BsAs G.B.A Oeste”,$text\u域),
“4”=>(BsAs G.B.A Sur“,$text\u域),
),
);
}
//在新产品弹出/无弹出窗体上添加额外字段
添加操作(“添加产品标签后添加新产品”、“添加新产品自定义字段”,10);
函数add_dokan_new_product_custom_fields(){
$settings=get_work_option_field_settings();//加载字段设置
$field_id=$settings['name'];//获取自定义字段元键
回声'
“.$settings['title']”。
; //循环通过字段选项设置 foreach($settings['fields']作为$key=>$label){ 回显“.$label.”
; } 回声'; } //保存产品字段数据以进行编辑和更新 添加操作(“添加新产品”、“保存产品”、“自定义字段”,10,2); 添加操作('dokan\u product\u Update','save\u dokan\u product\u custom\u fields',10,2); 函数save\u dokan\u product\u custom\u字段($product\u id,$postdata=null){ 如果(!dokan_是用户\卖家(获取当前用户\ id()){ 返回; } $settings=get_work_option_field_settings();//加载字段设置 $field_id=$settings['name'];//获取自定义字段元键 $meta_value=array();//正在初始化 //循环通过字段选项设置 foreach($settings['fields']作为$key=>$label){ 如果(!empty($postdata[$field\u id.$key])){ //将每个选定选项添加到阵列中 $meta_value[]=esc_attr($postdata[$field_id.$key]); } } 更新_post_meta($product_id,$field_key,$meta_value);//保存 } //在产品编辑页面上显示字段数据 添加操作(“添加产品标签后添加产品编辑”、“添加产品编辑自定义字段”,99,2); 函数添加\编辑\产品\自定义\字段($post,$post\ id){ $settings=get_work_option_field_settings();//加载字段设置 $field_id=$settings['name'];//获取自定义字段元键 $values=get_post_meta($post_id,$field_id,true);//获取所选选项的自定义字段数组 回声' “.”(“特拉巴霍区”,“多坎地区”)。
”; //循环通过字段选项设置 foreach($settings['fields']作为$key=>$label){ $checked=!empty($values)&&in_数组($key,$values)&&post_id>0?'checked=“checked”:“”; 回显“.$label.”
; } 回声'; } //在单个产品页面上显示值 添加操作('woocommerce\u single\u product\u summary','display\u single\u product\u extra\u field\u values',13); 函数显示\单个\产品\额外\字段\值(){ 全球$产品; if(空($product)){ 返回; } $settings=get_work_option_field_settings();//加载字段设置 $field_id=$settings['name'];//获取自定义字段元键 $meta_value=get_post_meta($product->get_id(),$field_id,true);//获取所选选项的自定义字段数组 $values=[];//正在初始化 如果(!空($meta_值)){ //循环通过字段选项设置 foreach($settings['fields']作为$key=>$label){ if(在数组中($key,$meta_值)){ $values[]=$label; } } echo“

”。$settings['title'..:”。内爆(“,”,$values)。”。

; } }
代码放在活动子主题(或活动主题)的functions.php文件中

因为我不能真正地测试代码,所以您需要测试它,并可能对其进行一些更改

第一个函数处理字段设置、标题、字段选项…

灵感来自Github上的find(from),您将在下面找到重新访问的代码,其中包含一些应处理某些需求的附加函数(注释):

//额外复选框的字段设置
函数获取\工作\选项\字段\设置(){
$text_domain='dokan lite';
返回数组(
“名称”=>“工作区”,
“title”=>(Zona de trabajo,$text\u域),
“字段”=>数组(
“1”=>uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu,
“2”=>“(BsAs G.B.A Norte,$text\u域),
“3'=>”(“BsAs G.B.A Oeste”,$text\u域),
“4”=>(BsAs G.B.A Sur“,$text\u域),
),
);
}
//在新产品弹出/无弹出窗体上添加额外字段
添加操作(“添加产品标签后添加新产品”、“添加新产品自定义字段”,10);
函数add_dokan_new_product_custom_fields(){
$settings=get_work_option_field_settings();//加载字段设置
$field_id=$settings['name'];//获取自定义字段元键
回声'
“.$sett