В настоящее время я создаю плагин, который собирает данные с их номерного знака. Все работает просто отлично. Сообщение будет создано, я получу ID созданного сообщения и т. Д. c. Но в самом конце моей функции ... Я бы хотел обновить мета поста так:
update_post_meta($product_id, '_regular_price', '0');
update_post_meta($product_id, '_subscription_period_interval', '1');
update_post_meta($product_id, '_subscription_period', 'week');
Но ничего не происходит. Я попытался запустить функцию снова, поместив код выше где-то еще, и что я пробовал несколько мест внутри моего кода. Даже попытался создать совершенно новую функцию для этих трех строк. Все еще не повезло.
Я попытался вернуть мета поста из только что созданного поста. Просматривая возвращенные данные, я вижу, что моя post_meta была установлена, но при посещении записи из архива типов записей WordPress мета записи была сброшена / проигнорирована.
Вот с чем я сталкиваюсь:
Как видите, мета поста устанавливается, но при просмотре внутри моего архива ... Не установлено , Я даже пытался с sleep (3) убедиться, что сообщение было создано до update_post_meta. Не повезло.
Есть идеи или советы, как мне решить эту проблему?
Я бы хотел добавить это, взяв эти 3 строки и добавив их в пример: функции. php, а затем хардкодирование идентификаторов, то это будет работать. Таким образом, короткая версия состоит в том, что при создании сообщения 3 строки ничего не делают, даже если идентификатор установлен правильно. Так что это должно быть что-то, что нужно при создании сообщения et c ...
Edit
Вы просили посмотреть, где устанавливается product_id:
$post_data = array(
'post_author' => $author,
'post_name' => $postname,
'post_title' => $data['title'],
'post_content' => $data['content'],
'post_excerpt' => $data['excerpt'],
'post_status' => 'draft',
'ping_status' => 'closed',
'post_type' => 'product',
);
// Creating the product (post data)
$product_id = wp_insert_post( $post_data );
WordPress # WooCommerce