array( 'label' => 'Meta key', 'type' => 'text', 'default' => '', ), 'to_regexp' => array( 'label' => 'To REGEXP', 'type' => 'select', 'options' => array( 'no' => 'No', 'yes' => 'Yes', ), 'default' => '', ), ); } public function macros_callback( $args = array() ) { $object = $this->get_macros_object(); $meta_key = ! empty( $args['meta_key'] ) ? $args['meta_key'] : null; $to_regexp = ! empty( $args['to_regexp'] ) ? $args['to_regexp'] : 'no'; if ( ! $meta_key ) { return; } $meta = jet_engine()->listings->macros->get_current_meta( $field_value, $meta_key ); if ( ! is_array( $meta ) ) { return; } $result = array_keys( $meta ); $delimiter = ','; if ( $to_regexp === 'yes' ) { $result = array_map( function( $item ) { return sprintf( '"%s"', $item ); }, $result ); $delimiter = '|'; } return implode( $delimiter, $result ); } } new Current_Meta_Array_Keys(); } );