Exemplo n.º 1
0
 /**
  * リビジョンデータを保存
  * *_post_meta はリビジョンIDのときに自動的に本物IDに変換して処理してしまうので、*_metadata を使うこと
  *
  * @param int $post_id リビジョンの投稿ID
  */
 public function wp_insert_post($post_id)
 {
     if (!isset($_POST[SCF_Config::NAME])) {
         return;
     }
     if (!wp_is_post_revision($post_id)) {
         return;
     }
     $settings = SCF::get_settings(get_post($post_id));
     if (!$settings) {
         return;
     }
     check_admin_referer(SCF_Config::NAME . '-fields', SCF_Config::PREFIX . 'fields-nonce');
     $Meta = new Smart_Custom_Fields_Meta(get_post($post_id));
     $Meta->save($_POST);
 }
 /**
  * 送信されたデータを保存
  *
  * @param array $data
  * @param WP_Post|WP_User|object $object
  */
 protected function save($data, $object)
 {
     check_admin_referer(SCF_Config::NAME . '-fields', SCF_Config::PREFIX . 'fields-nonce');
     $Meta = new Smart_Custom_Fields_Meta($object);
     $Meta->save($_POST);
 }
 /**
  * @group get_multiple_data_field_value
  */
 public function test_get_multiple_data_field_value__空値を保存済みの場合は空配列を返す()
 {
     $object = get_post($this->post_id);
     $Meta = new Smart_Custom_Fields_Meta($object);
     $POST = array(SCF_Config::NAME => array('checkbox3' => array(array(), array(1, 2), array(2, 3))));
     $Meta->save($POST);
     $Field = SCF::get_field($object, 'checkbox3');
     $index = 0;
     // 空配列が返るべきキー
     $this->assertSame(array(), $this->Controller->get_multiple_data_field_value($object, $Field, $index));
 }
 /**
  * A wrapper of Smart_Custom_Fields_Meta()->save()
  *
  * @param (array) $data
  */
 protected function scfSave($data)
 {
     $post = $this->getPost();
     if ($post instanceof WP_Post) {
         if (class_exists('Smart_Custom_Fields_Meta') && is_array($data)) {
             $_data = array();
             $_data['smart-custom-fields'] = $data;
             $meta = new Smart_Custom_Fields_Meta($post);
             $meta->save($_data);
         } elseif (is_array($data)) {
             foreach ($data as $key => $array) {
                 foreach ((array) $array as $value) {
                     $this->updateMeta($key, $value);
                 }
             }
         }
     } else {
         $this->addError('post_is_not_set', __('WP_Post object is not set.', 'really-simple-csv-importer'));
     }
 }