Codeception\Module\WPDb::haveTermInDatabase PHP Метод

haveTermInDatabase() публичный Метод

Inserts a term in the database.
public haveTermInDatabase ( string $name, string $taxonomy, array $overrides = [] ) : array
$name string The term name, e.g. "Fuzzy".
$taxonomy string The term taxonomy
$overrides array An array of values to override the default ones.
Результат array An array containing `term_id` and `term_taxonomy_id` of the inserted term.
    public function haveTermInDatabase($name, $taxonomy, array $overrides = [])
    {
        $termDefaults = ['slug' => (new Slugifier())->slugify($name), 'term_group' => 0];
        $hasMeta = !empty($overrides['meta']);
        $meta = [];
        if ($hasMeta) {
            $meta = $overrides['meta'];
            unset($overrides['meta']);
        }
        $termData = array_merge($termDefaults, array_intersect_key($overrides, $termDefaults));
        $termData['name'] = $name;
        $term_id = $this->haveInDatabase($this->grabTermsTableName(), $termData);
        $termTaxonomyDefaults = ['description' => '', 'parent' => 0, 'count' => 0];
        $termTaxonomyData = array_merge($termTaxonomyDefaults, array_intersect_key($overrides, $termTaxonomyDefaults));
        $termTaxonomyData['taxonomy'] = $taxonomy;
        $termTaxonomyData['term_id'] = $term_id;
        $term_taxonomy_id = $this->haveInDatabase($this->grabTermTaxonomyTableName(), $termTaxonomyData);
        if ($hasMeta) {
            foreach ($meta as $key => $value) {
                $this->haveTermMetaInDatabase($term_id, $key, $value);
            }
        }
        return [$term_id, $term_taxonomy_id];
    }
WPDb