fix the `post_status` on query with elasticsearch
This commit is contained in:
parent
8721ff1238
commit
4a9a5db1ad
|
@ -273,7 +273,7 @@ class Elastic_Press {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
add_filter('ep_formatted_args', array($this, "prepare_request")); //filtro para os argumentos já no formato a ser enviado para o elasticpress.
|
add_filter('ep_formatted_args', array($this, "prepare_request"), 10, 2); //filtro para os argumentos já no formato a ser enviado para o elasticpress.
|
||||||
return $args;
|
return $args;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -284,7 +284,7 @@ class Elastic_Press {
|
||||||
*
|
*
|
||||||
* @return \Array with formatted array of args.
|
* @return \Array with formatted array of args.
|
||||||
*/
|
*/
|
||||||
public function prepare_request($formatted_args) {
|
public function prepare_request($formatted_args, $args) {
|
||||||
switch ($this->aggregation_type) {
|
switch ($this->aggregation_type) {
|
||||||
case 'items':
|
case 'items':
|
||||||
$formatted_args = $this->prepare_request_for_items($formatted_args);
|
$formatted_args = $this->prepare_request_for_items($formatted_args);
|
||||||
|
@ -316,6 +316,19 @@ class Elastic_Press {
|
||||||
}
|
}
|
||||||
$formatted_args['sort'] = $new_sort;
|
$formatted_args['sort'] = $new_sort;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( is_user_logged_in() && ! isset($args['post_status']) ) {
|
||||||
|
if ( isset( $formatted_args['post_filter']['bool']['must'] ) ) {
|
||||||
|
$post_filter = $formatted_args['post_filter']['bool']['must'];
|
||||||
|
foreach($post_filter as $idx => $filter) {
|
||||||
|
if( isset( $filter['terms']['post_status'] ) ) {
|
||||||
|
$formatted_args['post_filter']['bool']['must'][$idx]['terms']['post_status']=["private", "publish"];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return $formatted_args;
|
return $formatted_args;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue