Значение мета поста пусто в базе данных - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть плагин 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...