/**
  * Filter posts active only in enabled languages.
  *
  * @param $where
  *
  * @return string
  */
 public function filter_posts_where($where)
 {
     global $pagenow, $wpdb;
     if ('edit.php' === $pagenow && !is_null(FW_Request::get('fw_all_languages')) && $this->is_public_post_type()) {
         $where .= " AND {$wpdb->postmeta}.meta_value IN ( '" . implode("','", array_keys($this->get_parent()->get_enabled_languages())) . "' )";
     }
     return $where;
 }
 /**
  * Filter terms in frontend and backend by active language.
  *
  * @param $query
  *
  * @return mixed
  */
 public function change_admin_terms_query($query)
 {
     global $pagenow;
     global $wpdb;
     //filter backend
     if ($this->is_public_tax_type()) {
         if ('edit-tags.php' === $pagenow and is_null(FW_Request::get('fw_all_languages'))) {
             $active_lang = FW_Request::GET('fw_translate_to', $this->get_parent()->get_admin_active_language());
             $query['join'] .= " INNER JOIN {$wpdb->fw_termmeta} AS fw_tm\n\t\t\t\t\t\t\t\tON t.term_id = fw_tm.fw_term_id AND\n\t\t\t\t\t\t\t\tfw_tm.meta_key = 'translation_lang' AND\n\t\t\t\t\t\t\t\tfw_tm.meta_value = '" . $active_lang . "'";
         }
         if ('edit-tags.php' === $pagenow and !is_null(FW_Request::get('fw_all_languages'))) {
             $query['join'] .= " INNER JOIN {$wpdb->fw_termmeta} AS fw_tm\n\t\t\t\t\t\t\t\tON t.term_id = fw_tm.fw_term_id AND\n\t\t\t\t\t\t\t\tfw_tm.meta_key = 'translation_lang'";
             $query['where'] .= " AND fw_tm.meta_value IN ( '" . implode("','", array_keys($this->get_parent()->get_enabled_languages())) . "' )";
         }
     }
     return $query;
 }