<?php
function fetch_carid_product_data($url) {
$response = wp_remote_get($url);
if (is_wp_error($response)) {
return false;
}
$body = wp_remote_retrieve_body($response);
// Ürün başlığını çekme
preg_match('/<h1 class="Product-title">(.*?)<\/h1>/', $body, $title_matches);
$title = $title_matches[1] ?? '';
// Ürün fiyatını çekme
preg_match('/<span class="Product-price-value">(.*?)<\/span>/', $body, $price_matches);
$price = $price_matches[1] ?? '';
// Ürün açıklamasını çekme
preg_match('/<div class="Product-description">(.*?)<\/div>/s', $body, $description_matches);
$description = strip_tags($description_matches[1] ?? '');
// Ürün stok miktarını çekme
preg_match('/<div class="Product-stock">(.*?)<\/div>/', $body, $stock_matches);
$stock = strip_tags($stock_matches[1] ?? '');
// Ürün resimlerini çekme
preg_match_all('/<img class="Product-image" src="(.*?)"/', $body, $image_matches);
$image_urls = $image_matches[1] ?? [];
return [
'title' => $title,
'price' => $price,
'description' => $description,
'stock' => $stock,
'images' => $image_urls,
];
}
function display_product_data($product_data) {
?>
<h2>Product Data</h2>
<p><strong>Title:</strong> <?php echo esc_html($product_data['title']); ?></p>
<p><strong>Price:</strong> <?php echo esc_html($product_data['price']); ?></p>
<p><strong>Description:</strong> <?php echo esc_html($product_data['description']); ?></p>
<p><strong>Stock:</strong> <?php echo esc_html($product_data['stock']); ?></p>
<p><strong>Images:</strong></p>
<ul>
<?php foreach ($product_data['images'] as $image) : ?>
<li><img src="<?php echo esc_url($image); ?>" alt="Product Image" style="max-width: 100px;"></li>
<?php endforeach; ?>
</ul>
<form method="post" action="">
<input type="hidden" name="carid_product_data" value="<?php echo esc_attr(json_encode($product_data)); ?>">
<p>
<label for="product_category">Category:</label>
<input type="text" name="product_category" id="product_category">
</p>
<p>
<label for="product_subcategory">Subcategory:</label>
<input type="text" name="product_subcategory" id="product_subcategory">
</p>
<p>
<label for="product_brand">Brand:</label>
<input type="text" name="product_brand" id="product_brand">
</p>
<?php submit_button('Publish to WooCommerce'); ?>
</form>
<?php
if (isset($_POST['carid_product_data'])) {
$product_data = json_decode(stripslashes($_POST['carid_product_data']), true);
$category = sanitize_text_field($_POST['product_category']);
$subcategory = sanitize_text_field($_POST['product_subcategory']);
$brand = sanitize_text_field($_POST['product_brand']);
create_woocommerce_product($product_data, $category, $subcategory, $brand);
}
}
function create_woocommerce_product($product_data, $category, $subcategory, $brand) {
$post_id = wp_insert_post(array(
'post_title' => $product_data['title'],
'post_content' => $product_data['description'],
'post_status' => 'publish',
'post_type' => 'product',
));
if ($post_id) {
update_post_meta($post_id, '_price', $product_data['price']);
update_post_meta($post_id, '_stock', $product_data['stock']);
wp_set_object_terms($post_id, $category, 'product_cat');
wp_set_object_terms($post_id, $subcategory, 'product_cat');
wp_set_object_terms($post_id, $brand, 'product_brand');
foreach ($product_data['images'] as $image_url) {
$attachment_id = media_sideload_image($image_url, $post_id, null, 'id');
if ($attachment_id && is_int($attachment_id)) {
set_post_thumbnail($post_id, $attachment_id);
}
}
}
}sadece şu kodu yazmamak için senin gibi saçma sapan insanların diline düştüm yahu.
konu kapanmıştır işi vermiyorum yarım saate hallettim.