اذهب إلى المحتوى

السؤال

نشر (معدل)

اريد ان ابعت من INTRFACE PHP اضافة منتج جديد الى صفحة في WORDPRESS 

<?php 

function redirect ($url, $message)
{
    $_SESSION['message'] = $message;
    header('Location: '.$url);
    exit();
}
session_start();
include('../config/dbcon.php');

if(isset($_POST['add_product_btn']))
{
    $name = $_POST['name']; 
    $description = $_POST['description'];
    $image = $_FILES['image']['name'];
    $regular_price = $_POST['regular_price'];
    $sale_price = $_POST['sale_price'];

    $product_query = "INSERT INTO products(name,descriprion,image,regular_price,sale_price) VALUES ('$name','$description','$image','$regular_price','$sale_price')";

    $product_query_run =mysqli_query($con, $product_query);

    if($product_query_run)
    {
        move_uploaded_file($_FILES['image']['tmp_name'], $path.'/'.$filename);
        
        redirect("add-product.php", "Product Added Successfully");
    }
    else
    {
        redirect("add-product.php", "Something went wrong");
    }

}

$consumer_key = "ck_786f953cb5af922717ac6ea4bec5f40484645572";
$consumer_secret = "cs_7907ada02821f451c936e0555acb93b2c2b8e506";


require __DIR__ . '/vendor/autoload.php';

use Automattic\WooCommerce\Client;

$woocommerce = new Client(
  'https://woocommerce-883252-3583112.cloudwaysapps.com/',
  $consumer_key,
  $consumer_secret,
  [
    'version' => 'wc/v3',
  ]  
) ;

$data = [
    'name' => $name,
    'regular_price' => $regular_price,
    'sale_price' => $sale_price,
    'description' =>$description ,
    'images' => $image
];
print_r($woocommerce->post('products', $data));


?>

 

تم التعديل في بواسطة Mustafa Suleiman
تعديل عنوان السؤال

Recommended Posts

  • 0
نشر

ما فهمته هو أن الكود هو نموذج PHP يهدف إلى إضافة منتج جديد إلى صفحة في موقع WordPress الخاص بك باستخدام WooCommerce APIK صحيح؟ ولتنفيذ لك عليك بالتالي:

أولاً، يتم التحقق من إرسال النموذج باستخدام الجزء التالي من الكود:

if(isset($_POST['add_product_btn']))
{
    // يتم استخراج قيم الحقول من النموذج
    $name = $_POST['name']; 
    $description = $_POST['description'];
    $image = $_FILES['image']['name'];
    $regular_price = $_POST['regular_price'];
    $sale_price = $_POST['sale_price'];

    // يتم إدراج قيم المنتج في قاعدة البيانات المحلية
    $product_query = "INSERT INTO products(name,descriprion,image,regular_price,sale_price) VALUES ('$name','$description','$image','$regular_price','$sale_price')";
    $product_query_run = mysqli_query($con, $product_query);

    if($product_query_run)
    {
        // يتم تحميل الصورة إلى مسار محدد
        move_uploaded_file($_FILES['image']['tmp_name'], $path.'/'.$filename);
        
        // يتم إعادة توجيه المستخدم إلى صفحة إضافة المنتج مع رسالة نجاح
        redirect("add-product.php", "تمت إضافة المنتج بنجاح");
    }
    else
    {
        // يتم إعادة توجيه المستخدم إلى صفحة إضافة المنتج مع رسالة خطأ
        redirect("add-product.php", "حدث خطأ ما");
    }
}

من ثمّ، تحديد مفتاح المستهلك والسر الخاص بك وإعداد اتصالك بووردبريس وخدمة WooCommerce باستخدام الكود التالي:

$consumer_key = "ck_786f953cb5af922717ac6ea4bec5f40484645572";
$consumer_secret = "cs_7907ada02821f451c936e0555acb93b2c2b8e506";

require __DIR__ . '/vendor/autoload.php';

use Automattic\WooCommerce\Client;

$woocommerce = new Client(
  'https://woocommerce-883252-3583112.cloudwaysapps.com/',
  $consumer_key,
  $consumer_secret,
  [
    'version' => 'wc/v3',
  ]  
) ;

وأخيرًا، إنشاء مصفوفة بالبيانات الخاصة بالمنتج الجديد وإضافتها باستخدام WooCommerce API باستخدام الكود التالي:

$data = [
    'name' => $name,
    'regular_price' => $regular_price,
    'sale_price' => $sale_price,
    'description' => $description,
    'images' => $image
];
print_r($woocommerce->post('products', $data));

والكود يقوم بإنشاء مصفوفة $data تحتوي على معلومات المنتج الجديد مثل الاسم والأسعار والوصف والصورة. ثم، استخدام print_r لطباعة رد من WooCommerce API بعد إرسال البيانات.

وانتبهي إلى أنه يجب توفير المفتاح key الصحيح والسر secret للوصول إلى WooCommerce API، وأيضًا التأكد من وجود مكتبة WooCommerce PHP Client وملفاتها في المسار الصحيح في مشروعك.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...