protected function prepare_tax_query() { $this->tax_query[] = array('terms' => $this->levels, 'taxonomy' => bp_docs_get_access_tax_name(), 'field' => 'slug', 'operator' => 'IN'); }
function bp_docs_update_doc_access($doc_id, $access_setting = 'anyone') { $doc = get_post($doc_id); if (!$doc || is_wp_error($doc)) { return false; } // Convert the access setting to a WP taxonomy term switch ($access_setting) { case 'anyone': case 'loggedin': $access_term = 'bp_docs_access_' . $access_setting; break; case 'group-members': case 'admins-mods': $associated_group = bp_docs_get_associated_group_id($doc_id); $access_term = 'group-members' == $access_setting ? bp_docs_get_access_term_group_member($associated_group) : bp_docs_get_access_term_group_adminmod($associated_group); break; case 'creator': case 'no-one': // @todo Don't know how these are different $access_term = bp_docs_get_access_term_user($doc->post_author); break; } if (isset($access_term)) { $retval = wp_set_post_terms($doc_id, $access_term, bp_docs_get_access_tax_name()); } if (empty($retval) || is_wp_error($retval)) { return false; } else { return true; } }