我正在使用日历事件pro插件。在该插件中save_post 使用挂钩,其优先级设置为20。我想在处理日历事件的数据后添加一些其他数据。所以我做到了
add_action(\'save_post\',\'save_tribe_func\',30,2);
function save_tribe_func($post_id,$post){
#some data
}
 但不幸的是,我无法添加任何数据。
下面是中的代码save_tribe_func
 function save_tribe_func($post_id,$post){
if($post->post_status == "publish" && $post->post_type == "tribe_events"){
            //echo "<pre>";print_r($post);
            unset($post->comment_count);
            unset($post->filter);
            //unset($post->ID);
            //print_r($post);
            //echo "<pre>";print_r(get_post_meta($post_id));
            $all_tags=get_the_terms($post_id,\'tribe_event_tags\');
            $all_cat=get_the_terms($post_id,\'tribe_events_cat\');
            $all_tag_arr=[];$index=0;
            foreach ($all_tags as $key => $each_tag) {
                $all_tag_arr[$index++] = $each_tag->term_id;
            }
            foreach ($all_cat as $key => $each_tag) {
                $all_tag_arr[$index++] = $each_tag->term_id;
            }
            //echo "<pre>";print_r($all_tags);
            //echo "<pre>";print_r($all_tag_arr);
            //exit();
            $author_user=get_userdata($post->post_author);
            $dept_site_url=$author_user->data->user_url;            
            $inputJSON=json_encode($post);
            //echo $inputJSON;
            $dept_site_url="http://192.168.200.69/wordpress_test/";
            $ch = curl_init($dept_site_url.\'wp-json/myplugin/v1/posteventInsert/\');
              curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
              curl_setopt($ch, CURLOPT_VERBOSE, 0);                                                                       
              curl_setopt($ch, CURLOPT_POSTFIELDS, $inputJSON);                                                                  
              curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                                                      
              curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
              \'Content-Type: application/json\',                                                                               
                \'Content-Length: \' . strlen($inputJSON))                                                                       
              );
            $last_post_id = curl_exec($ch);
            echo $last_post_id;
            $meta_url=$dept_site_url.\'wp-json/myplugin/v1/postmetaInsert/\';
            $post_meta=get_post_meta($post_id);
            // echo \'<pre>\';
            // echo \'get_save_events_data\';
            // print_r($post_meta);
            // exit;
            if(isset($post_meta[\'_thumbnail_id\'])){
                set_thumbnail_id($post_meta[\'_thumbnail_id\'][0],$dept_site_url);
            }
          if($last_post_id != 0){
            //$post_meta=get_post_meta($post_id);
            $post_meta_arr=[];$i=0;
            foreach ($post_meta as $key => $metavalue) {
                $post_meta_arr[$i][\'post_id\']=$last_post_id;
                $post_meta_arr[$i][\'meta_key\']=$key;
                $post_meta_arr[$i][\'meta_value\']=$metavalue[0];         
                $i++;
            }
            $post_meta_arr[$i][\'post_id\']=$last_post_id;
            $post_meta_arr[$i][\'meta_key\']=\'event_main_site_id\';
            $post_meta_arr[$i][\'meta_value\']=$post_id;
            $meta_url=$dept_site_url.\'wp-json/myplugin/v1/posteventmetaInsert/\';
            $post_all[\'meta\']=$post_meta_arr;
            $post_all[\'tag\']=$all_tag_arr;
            //echo "<pre>";print_r($post_all);
            $meta_json=json_encode($post_all);
            //echo $meta_json;
            //exit;
            $ch = curl_init($meta_url);
            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
            curl_setopt($ch, CURLOPT_VERBOSE, 0);                                                                       
            curl_setopt($ch, CURLOPT_POSTFIELDS, $meta_json);                                                                  
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                                                      
            curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
                \'Content-Type: application/json\',                                                                                
                \'Content-Length: \' . strlen($meta_json))                                                                       
            );
            $meta_success = curl_exec($ch);
        }
        //echo "<pre>";print_r($post_meta_arr);
        //echo "id".$post_id;
        //echo "<pre>";print_r($post);
    }
    }