添加带有特色图像的简单Woocommerce产品前端和带有短代码的gallery
这里是从前端添加产品的完整来源。如果有任何遗漏或问题,请告诉我。 添加快捷码('show_product'、'show_product_form'); /** *将产品提交到post type prodcut添加带有特色图像的简单Woocommerce产品前端和带有短代码的gallery,woocommerce,frontend,product,gallery,Woocommerce,Frontend,Product,Gallery,这里是从前端添加产品的完整来源。如果有任何遗漏或问题,请告诉我。 添加快捷码('show_product'、'show_product_form'); /** *将产品提交到post type prodcut *@return插入产品数据 *@自1.0以来 *@作者瓦西姆 */ 功能展示产品表格($atts){ 如果(isset($\u POST['gg'])和(&$\u POST['gg'])!=“”){ 全球$wpdb,$woocommerce; 全局$当前用户 $name
*@return插入产品数据 *@自1.0以来 *@作者瓦西姆 */ 功能展示产品表格($atts){ 如果(isset($\u POST['gg'])和(&$\u POST['gg'])!=“”){ 全球$wpdb,$woocommerce; 全局$当前用户
$name = $_POST['title'];
$product_desc = $_POST['content'];
$productprice = $_POST['price'];
$post = array(
'post_type' => 'product',
'post_author' => $current_user->ID,
'post_content' => $product_desc,
'post_title' => $name,
'post_status' => 'publish',
'tax_input' => array(
'product_cat' => array( 15 )
),
);
$id = wp_insert_post( $post);
// Setting the product type
wp_set_object_terms( $id, 'simple', 'product_type' );
if($id){
//update_post_meta($id, '_regular_price', $productprice);
// Get the WC_Product Object instance
$product = wc_get_product( $id );
// Set the product active price (regular)
$product->set_price( $productprice );
$product->set_regular_price( $productprice ); // To be sure
// Save product data (sync data and refresh caches)
$product->save();
update_post_meta( $id, '_visibility', 'visible' );
update_post_meta( $id, '_stock_status', 'instock' );
update_post_meta($id, 'post_status', 'publish');
if ( ! empty( $_FILES['my_file_upload'] ) ) {
$files = $_FILES['my_file_upload'];
foreach ($files['name'] as $key => $value){
if ($files['name'][$key]){
$file = array(
'name' => $files['name'][$key],
'type' => $files['type'][$key],
'tmp_name' => $files['tmp_name'][$key],
'error' => $files['error'][$key],
'size' => $files['size'][$key]
);
}
$_FILES = array("my_file_upload" => $file);
$i=1;
// $vv = "";
foreach ($_FILES as $file => $array) {
if ($_FILES[$file]['error'] !== UPLOAD_ERR_OK) __return_false();
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($file, $id);
$vv .= $attachment_id . ",";
$i++;
}
update_post_meta($id, '_product_image_gallery', $vv);
set_post_thumbnail($id, $attachment_id, $vv);
}
}
echo '<div style="color:green;">Product added sucess</div>';
}
}
/* initialization /HTML Product Form */
ob_start();
require_once 'inc/my-custom-function.php';
return ob_get_clean();
}
create new filemy-custom-function.php for html and place below code
<div class="col-md-6">
<form method = "post" enctype="multipart/form-data">
<div class="form-group">
<label for="title">Product Title</label>
<input type="text" class="form-control" name="title" placeholder="ProductTitle" required="required">
</div>
<div class="form-group">
<label for="description">Desription</label>
<textarea name="content" class="form-control" placeholder="Description" required="required"></textarea>
</div>
<div class="form-group">
<label for="exampleInputEmail1">Product Price</label>
<input type="number" class="form-control" name="price" placeholder="Enter Price" required="required">
</div>
<div class="form-group">
Choose Product Gallery<input type="file" class="form-control" name="my_file_upload[]" multiple="multiple" required="required">
</div>
<input type="submit" name="gg">
</form>
</div>
$name=$\u POST['title'];
$product_desc=$_POST['content'];
$productprice=$_POST['price'];
$post=数组(
“post_类型”=>“产品”,
“post\u author'=>$current\u user->ID,
“发布内容”=>$product\U desc,
“post_title”=>$name,
“发布状态”=>“发布”,
“税务输入”=>数组(
“产品类别”=>阵列(15)
),
);
$id=wp\u insert\u post($post);
//设置产品类型
wp_set_object_术语($id,'simple,'product_type');
如果($id){
//更新发布元($id,'u常规价格',$productprice);
//获取WC_产品对象实例
$product=wc\U get\U product($id);
//设置产品有效价格(常规)
$product->set_价格($productprice);
$product->set_常规_价格($productprice);//当然
//保存产品数据(同步数据和刷新缓存)
$product->save();
更新发布元($id,''.'可见性','可见');
更新后置元($id、'u库存状态'、'instock');
更新发布元数据($id,“发布状态”,“发布”);
如果(!空($_文件['my_文件上传]])){
$files=$\u files['my\u file\u upload'];
foreach($files['name']作为$key=>$value){
如果($files['name'][$key]){
$file=array(
'name'=>$files['name'][$key],
'type'=>$files['type'][$key],
'tmp_name'=>$files['tmp_name'][$key],
'error'=>$files['error'][$key],
'size'=>$files['size'][$key]
);
}
$\u FILES=array(“我的文件上传”=>$file);
$i=1;
//$vv=“”;
foreach($\作为$file=>$array的文件){
如果($\u FILES[$file]['error']!==上传错误确定)\u返回错误();
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\u id=media\u handle\u upload($file,$id);
$vv.=$attachment_id.“,”;
$i++;
}
更新发布元数据($id,''u产品\图像\图库',$vv);
设置帖子缩略图($id,$attachment\u id,$vv);
}
}
echo“产品添加成功”;
}
}
/*初始化/HTML产品表单*/
ob_start();
需要一次'inc/my custom function.php';
返回ob_get_clean();
}
为html创建新的filemy-custom-function.php,并将其放在代码下面
产品名称
描述
产品价格
选择产品库