/** * @group bp_docs_get_folder_term_slug */ public function test_bp_docs_get_folder_term_slug() { $this->assertSame('bp_docs_doc_in_folder_0', bp_docs_get_folder_term_slug('rchrchcrh')); $this->assertSame('bp_docs_doc_in_folder_0', bp_docs_get_folder_term_slug(0)); $this->assertSame('bp_docs_doc_in_folder_9', bp_docs_get_folder_term_slug(9)); }
/** * Get the bp_docs_doc_in_folder term for a given folder. * * @param int $folder_id * @return int|bool $term_id False on failure, term id on success. */ function bp_docs_get_folder_term($folder_id) { $folder = get_post($folder_id); if (is_wp_error($folder) || empty($folder) || 'bp_docs_folder' !== $folder->post_type) { return false; } $term_slug = bp_docs_get_folder_term_slug($folder_id); $term_id = false; $term = get_term_by('slug', $term_slug, 'bp_docs_doc_in_folder'); // Doesn't exist, so we must create if (empty($term) || is_wp_error($term)) { $new_term = wp_insert_term($term_slug, 'bp_docs_doc_in_folder', array('slug' => $term_slug)); if (!is_wp_error($new_term)) { $term_id = intval($new_term['term_id']); } } else { $term_id = intval($term->term_id); } return $term_id; }