82 lines
2.8 KiB
PHP
82 lines
2.8 KiB
PHP
<?php
|
|
// Vključi WordPress
|
|
require_once('../../../../wp-load.php');
|
|
|
|
// Preberi JSON datoteko
|
|
$json_file = '../../../Spletna/tours.json';
|
|
$json_data = file_get_contents($json_file);
|
|
$tours = json_decode($json_data, true);
|
|
|
|
if (!is_array($tours)) {
|
|
die('Napaka pri branju JSON datoteke');
|
|
}
|
|
|
|
// Uvozi vsako turo
|
|
foreach ($tours as $tour) {
|
|
// Preveri, če tura že obstaja
|
|
$existing_tour = get_page_by_title($tour['title'], OBJECT, 'tour');
|
|
|
|
if ($existing_tour) {
|
|
continue; // Preskoči, če tura že obstaja
|
|
}
|
|
|
|
// Pripravi podatke za novo turo
|
|
$post_data = array(
|
|
'post_title' => $tour['title'],
|
|
'post_content' => $tour['description'] ?? '',
|
|
'post_status' => 'publish',
|
|
'post_type' => 'tour'
|
|
);
|
|
|
|
// Vstavi novo turo
|
|
$post_id = wp_insert_post($post_data);
|
|
|
|
if ($post_id) {
|
|
// Dodaj meta podatke
|
|
update_post_meta($post_id, '_tour_duration', $tour['duration'] ?? '');
|
|
update_post_meta($post_id, '_tour_distance', $tour['distance'] ?? '');
|
|
update_post_meta($post_id, '_tour_category', $tour['category'] ?? '');
|
|
|
|
// Dodaj highlights in inclusions, če obstajajo
|
|
if (isset($tour['highlights'])) {
|
|
update_post_meta($post_id, '_tour_highlights', $tour['highlights']);
|
|
}
|
|
if (isset($tour['inclusions'])) {
|
|
update_post_meta($post_id, '_tour_inclusions', $tour['inclusions']);
|
|
}
|
|
|
|
// Nastavi featured image, če obstaja
|
|
if (isset($tour['image']) && !empty($tour['image'])) {
|
|
$image_url = $tour['image'];
|
|
$upload_dir = wp_upload_dir();
|
|
|
|
// Prenesi sliko
|
|
$image_data = file_get_contents($image_url);
|
|
$filename = basename($image_url);
|
|
|
|
if ($image_data !== false) {
|
|
$file = $upload_dir['path'] . '/' . $filename;
|
|
file_put_contents($file, $image_data);
|
|
|
|
$wp_filetype = wp_check_filetype($filename, null);
|
|
$attachment = array(
|
|
'post_mime_type' => $wp_filetype['type'],
|
|
'post_title' => sanitize_file_name($filename),
|
|
'post_content' => '',
|
|
'post_status' => 'inherit'
|
|
);
|
|
|
|
$attach_id = wp_insert_attachment($attachment, $file, $post_id);
|
|
require_once(ABSPATH . 'wp-admin/includes/image.php');
|
|
|
|
$attach_data = wp_generate_attachment_metadata($attach_id, $file);
|
|
wp_update_attachment_metadata($attach_id, $attach_data);
|
|
set_post_thumbnail($post_id, $attach_id);
|
|
}
|
|
}
|
|
|
|
echo "Uvožena tura: " . $tour['title'] . "\n";
|
|
}
|
|
}
|
|
|
|
echo "Uvoz končan!\n";
|