/** * プレビューのときはプレビューのメタデータを返す。ただし、アイキャッチはリビジョンが無いので除外する * * @param mixed $value * @param int $post_id * @param string $meta_key * @param bool $single * @return mixed $value */ public function get_post_metadata($value, $post_id, $meta_key, $single) { // $meta_key が SCF で定義されたものでなければスルー if (is_null(SCF::get_field(get_post($post_id), $meta_key))) { return $value; } if ($preview_id = $this->get_preview_id($post_id) && $meta_key !== '_thumbnail_id') { if ($post_id !== $preview_id) { $value = get_post_meta($preview_id, $meta_key, $single); } } return $value; }
/** * @group get_default_value */ public function test_get_default_value__指定されたFieldのデフォルト値なし_複数値項目_singleがfalseのときは配列() { $Field = SCF::get_field(get_post($this->post_id), 'checkbox-has-not-default'); $this->assertSame(array(), SCF::get_default_value($Field)); }
/** * @group get_single_data_field_value */ public function test_get_single_data_field_value__保存済の場合は文字列を返す() { $object = get_post($this->post_id); $Field = SCF::get_field($object, 'text-has-default'); $index = 0; $Meta = new Smart_Custom_Fields_Meta($object); $Meta->add('text-has-default', 'A'); $this->assertEquals('A', $this->Controller->get_single_data_field_value($object, $Field, $index)); }