Пример #1
0
 /**
  * Aktivuje vlastní (KT) term meta (v rámci WPDB a metadata API) 
  * 
  * Pozn.: je třeba mít založenou příslušnou tabulku v DB, viz kt_core.sql
  * 
  * @author Martin Hlaváč
  * @link http://www.ktstudio.cz 
  * 
  * @global \WP_DB $wpdb
  */
 public static function activate()
 {
     if (!self::getIsActive()) {
         global $wpdb;
         $id = self::TYPE . "meta";
         $wpdb->{$id} = "kt_termmeta";
         self::$isActive = true;
     }
 }
 /**
  * Vykreslí fieldset
  * VOLÁ SE V HOOCE
  * 
  * @author Jan Pokorný
  */
 public function renderFieldsetEdit()
 {
     wp_enqueue_media();
     $termId = filter_input(INPUT_GET, "tag_ID", FILTER_SANITIZE_NUMBER_INT);
     $fieldset = $this->getFieldset();
     $fieldset->setTitle("");
     foreach ($fieldset->getFields() as $field) {
         if ($termId) {
             $value = KT_Termmeta::getData($termId, $field->getName(), true);
             $field->setValue($value);
         }
         echo $fieldset->getInputToTr($field);
     }
 }
Пример #3
0
 /**
  * Načte data do všech fieldsetů na základě userId z tabulky kt_wp_terms
  *
  * @author Martin Hlaváč
  * @link http://www.ktstudio.cz
  *
  * @param int $termId
  * @return \KT_Form
  */
 public function loadDataFromTermMeta($termId)
 {
     if (KT::isIdFormat($termId) && $this->hasFieldset()) {
         $termMetas = KT_Termmeta::getAllData($termId);
         foreach ($this->getFieldsets() as $fieldset) {
             /* @var $fieldset \KT_Form_Fieldset */
             if ($fieldset->hasFields()) {
                 if ($fieldset->getSerializeSave()) {
                     $fieldset->setFieldsData($termMetas[$fieldset->getName()]);
                     continue;
                 }
                 $fieldset->setFieldsData($termMetas);
             }
         }
     }
     return $this;
 }
 /**
  * Inicializuje pole (post) metas na základě prefixu nebo všechny
  *
  * @author Martin Hlaváč
  * @link http://www.ktstudio.cz
  *
  * @return \KT_Post_Type_Presenter_Base
  */
 private function initMetas()
 {
     $metas = KT_Termmeta::getAllData($this->getId(), $this->getMetaPrefix());
     $this->setMetas($metas);
     return $this;
 }
Пример #5
0
 /**
  * Uloží data poslané postem do tabulky kt_termmeta - celý fieldset jako realizované pole fieldů ($fieldName => $fieldValue)
  * @see saveFieldsToTermmetaTable
  *
  * @author Martin Hlaváč
  * @link http://www.ktstudio.cz
  *
  * @param int $termId
  * @param \KT_Form_Fieldset $fieldset
  * @param array $excludeFields
  * @return \KT_Form
  */
 private function saveFieldsetToTermMetaByGroup($termId, KT_Form_Fieldset $fieldset, array $excludeFields = array())
 {
     $fieldsetData = $this->getSavableFieldsetGroupValue($fieldset, $excludeFields);
     if (KT::arrayIssetAndNotEmpty($fieldsetData)) {
         KT_Termmeta::updateData($termId, $fieldset->getName(), $fieldsetData);
     } else {
         KT_Termmeta::deleteData($termId, $fieldset->getName());
     }
     return $this;
 }