prepare_meta() public method

Prepare post meta to send to ES
Since: 0.1.0
public prepare_meta ( object $post ) : array
$post object
return array
Esempio n. 1
0
 /**
  * Test to verify meta array is built correctly.
  *
  * @since 1.7
  */
 public function testPrepareMeta()
 {
     $post_id = ep_create_and_sync_post();
     $post = get_post($post_id);
     $meta_values = array('value 1', 'value 2');
     add_post_meta($post_id, 'test_meta_1', 'value 1');
     add_post_meta($post_id, 'test_meta_1', 'value 2');
     add_post_meta($post_id, 'test_meta_1', $meta_values);
     add_post_meta($post_id, '_test_private_meta_1', 'value 1');
     add_post_meta($post_id, '_test_private_meta_1', 'value 2');
     add_post_meta($post_id, '_test_private_meta_1', $meta_values);
     $api = new EP_API();
     $meta_1 = $api->prepare_meta($post);
     add_filter('ep_prepare_meta_allowed_protected_keys', array($this, 'filter_ep_prepare_meta_allowed_protected_keys'));
     $meta_2 = $api->prepare_meta($post);
     add_filter('ep_prepare_meta_excluded_public_keys', array($this, 'filter_ep_prepare_meta_excluded_public_keys'));
     $meta_3 = $api->prepare_meta($post);
     $this->assertTrue(is_array($meta_1) && 1 === sizeof($meta_1));
     $this->assertTrue(is_array($meta_1) && array_key_exists('test_meta_1', $meta_1));
     $this->assertTrue(is_array($meta_2) && 2 === sizeof($meta_2));
     $this->assertTrue(is_array($meta_2) && array_key_exists('test_meta_1', $meta_2) && array_key_exists('_test_private_meta_1', $meta_2));
     $this->assertTrue(is_array($meta_3) && 1 === sizeof($meta_3));
     $this->assertTrue(is_array($meta_3) && array_key_exists('_test_private_meta_1', $meta_3));
 }