/** * Gets a field value for a given name. If the field have a prefix, you must insert it too: * ->get('name', $term->term_id); * * with a prefix called "userdata_": * ->get('userdata_name', $term->term_id); * * @param string $fieldName * @param int $termID * @return mixed */ public function get($fieldName, $termID = null) { global $term, $wpdb; $theTerm = $term; if ($termID) { $theTerm = $wpdb->get_row($wpdb->prepare("SELECT t.*, tt.* FROM {$wpdb->terms} AS t INNER JOIN {$wpdb->term_taxonomy} AS tt ON t.term_id = tt.term_id WHERE t.term_id = %s LIMIT 1", $termID)); } if (is_wp_error($theTerm)) { return false; } return wd_get_term_meta($theTerm->term_id, $fieldName); }
/** * Returns the fields for edit screen * * @return string */ public function renderForEdit() { global $tag; $data = array(); foreach ($this->dataHandler->getFillable() as $field) { $data[$field->getBaseName()] = apply_filters('wd-fieldcreator-get-field-' . $this->prefix . $field->getBaseName(), wd_get_term_meta($tag->term_id, $this->prefix . $field->getBaseName())); } $this->dataHandler->populate($data)->execute(); foreach ($this->dataHandler->getContent() as $content) { if (is_a($content, 'FG_HTML_Form_Input_Fillable')) { $html[] = Html::tag('tr', array(Html::tag('th', $content->getLabel()), Html::tag('td', $content->getField())))->setClass('form-field wd-taxonomy-fieldcreator'); } else { $html[] = $content; } } return join('', $html); }
/** * test method */ public function testAddGetMeta() { $this->assertTrue(wd_update_term_meta(1, 'mykey', array('myvalue'))); $this->assertEquals(array('myvalue'), wd_get_term_meta(1, 'mykey')); }