WordPress Pehica Тема: API данные не отображаются в листингеPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 WordPress Pehica Тема: API данные не отображаются в листинге

Сообщение Anonymous »

Я пытаюсь синхронизировать данные автомобилей от внешнего API на моем сайте WordPress, который использует тему eahica. API -выборка работает (проверяется на Debug.log), но импортированные данные не отображаются в списке на моем сайте. >

[*] Извлечение данных API: я получаю данные, используя WP_Remote_post и проанализируйте ответ json. < /li>
Синхо В WordPress: я создаю или обновляю посты типа checica_car, устанавливая метаданные, таксономии и изображения. Функция для печати доступных типов сообщений (get_post_types ()), а ehecica_car - это перечисление, я позвонил в ehearica_sync_products () вручную в functions.php, но данные по-прежнему не появляются в списках ehica. Конец листинга? function vehica_sync_products() {
require_once(ABSPATH . 'wp-admin/includes/media.php');
require_once(ABSPATH . 'wp-admin/includes/file.php');
require_once(ABSPATH . 'wp-admin/includes/image.php');

$api_products = vehica_fetch_api_products();
if (!$api_products) {
error_log('No data received from API');
return;
}

foreach ($api_products as $product) {
$slug = sanitize_title($product['URL Slug']);
$existing_post = get_page_by_path($slug, OBJECT, 'vehica_car');

$post_data = [
'post_title' => sanitize_text_field($product['Title']),
'post_content' => wp_kses_post($product['Content'] ?? 'No description available.'),
'post_type' => 'vehica_car',
'post_status' => 'publish',
'post_name' => $slug,
'meta_input' => [
'vehica_price' => floatval($product['Vehica Currency 6656 2384'] ?? 0),
'vehica_model' => sanitize_text_field($product['Model'] ?? ''),
'vehica_year' => intval($product['Tahun'] ?? 2023),
'vehica_mileage' => floatval($product['Jarak Tempuh'] ?? 0),
'vehica_fuel_type' => sanitize_text_field($product['Jenis Bahan Bakar'] ?? ''),
'vehica_transmission'=> sanitize_text_field($product['Transmisi'] ?? ''),
'vehica_condition' => sanitize_text_field($product['Kondisi'] ?? ''),
]
];

if ($existing_post) {
$post_data['ID'] = $existing_post->ID;
$post_id = wp_update_post($post_data, true);
} else {
$post_id = wp_insert_post($post_data, true);
}

if (!is_wp_error($post_id) && !empty($product['Galeri'])) {
$gallery = explode(', ', $product['Galeri']);
if (!empty($gallery[0])) {
$image_id = media_sideload_image($gallery[0], $post_id, '', 'id');
if (!is_wp_error($image_id)) {
set_post_thumbnail($post_id, $image_id);
}
}
}
}
}

// Debugging post types
add_action('init', function() {
$post_types = get_post_types();
error_log(print_r($post_types, true));
});

// Running sync manually
add_action('init', function() {
vehica_sync_products();
});
< /code>
Дополнительный контекст: < /p>
  • Я включил Debug.log и предоставлю скриншоты журналов. < /li>
    Посты вставлены, и они появляются на панели администратора WordPress под "Checica Cars". Efhica.


Подробнее здесь: https://stackoverflow.com/questions/794 ... in-listing
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»