У меня есть плагин Wordpress для пользовательского типа поста, который может очистить данные с другого сайта, а затем изменить post_meta с помощью хука save_post. Проблема в том, что после сохранения сообщения я не вижу свой post_meta, его значение
Я пробовал, что я изменил его хук на transition_post_status безуспешно. Мне было интересно, смогу ли я изменить переменные $ _POST и вместо обновления передать эти переменные $ _POST, чтобы другой хук save_post, подлинный, изменяющий метадоту записи, сохранил их.
function slug_save_post_callback($post_ID, $post, $update)
{
if ($post->post_type != 'aps-products' || $post->post_status == 'auto-draft')
return;
if ($post->post_date_gmt != $post->post_modified_gmt)
return;
$result = getSpecs($post->post_title);
remove_action('save_post', 'slug_save_post_callback', 10, 3);
$groups = get_aps_cat_groups(74);
$groups_data = get_aps_groups_data();
$attrs_data = get_aps_attributes_data();
foreach ($groups as $groupId) {
$group_data = $groups_data[$groupId];
$group_values = get_aps_product_attributes($post->ID, $groupId);
if ($group_data['attrs']) {
if (aps_is_array($group_data['attrs'])) {
$value='';
foreach ($group_data['attrs'] as $attr_id) {
switch($attr_id){
case 2:
$value="Smartphone";
break;
case 3:
$value=$result[1];
break;
case 4:
$value=$result[12];
break;
}
$frist[$attr_id]= esc_textarea($value);
}
error_log("Set");
error_log(print_r($frist,true));
update_post_meta( $post->ID, 'aps-attr-group-' .$groupId, $frist );
error_log("Get");
$arr=get_post_meta($post_ID,'aps-attr-group-' .$groupId);
error_log(print_r($arr,true));
$frist=[];
}
}
}
add_action('save_post', 'slug_save_post_callback', 10, 3);
}
add_action('save_post', 'slug_save_post_callback', 10, 3);