/**
  * Provede načtení dat pro typ obsahu - single / page
  * 
  * @author Tomáš Kocifaj
  * @link http://www.ktstudio.cz
  * 
  * @global type $post
  * @return \KT_WP_Facebook_Data_Configurator
  */
 private function singleDataInit()
 {
     global $post;
     $model = new KT_WP_Post_Base_Model($post);
     $this->setTitle($model->getTitle())->setUrl($model->getPermalink())->setDescription($model->getExcerpt(false));
     if ($model->hasThumbnail()) {
         $imageUrlData = wp_get_attachment_image_src($model->getThumbnailId(), KT_WP_IMAGE_SIZE_MEDIUM);
         $this->setImageUrl($imageUrlData[0]);
     }
     return $this;
 }
 public function render()
 {
     // pages & categories
     $post = get_post();
     $isSingular = is_singular(KT_WP_POST_KEY);
     if (is_page()) {
         if ($this->isPages()) {
             $currentId = $post->ID;
             echo "\n<div class=\"widget\">";
             echo "<h2 class=\"widgettitle\">" . __("Stránky", "ZZZ_DOMAIN") . "</h2>";
             echo "<ul class=\"nav nav-pills nav-stacked\">";
             foreach ($this->getPages() as $page) {
                 $postModel = new KT_WP_Post_Base_Model($page);
                 $classAttribute = $postModel->getPostId() == $currentId ? " class=\"active\"" : "";
                 echo "<li{$classAttribute}><a href=\"{$postModel->getPermalink()}\" title=\"{$postModel->getTitleAttribute()}\">{$postModel->getTitle()}</a></li>";
             }
             echo "</ul></div>\n";
         }
     } elseif (is_category() || $isSingular) {
         $currentId = get_queried_object_id();
         $postModel = new KT_WP_Post_Base_Model($post);
         $categoriesIds = $postModel->getCategoriesIds() ?: array();
         echo "\n<div class=\"widget\">";
         echo "<h2 class=\"widgettitle\">" . __("Kategorie", "ZZZ_DOMAIN") . "</h2>";
         echo "<ul class=\"nav nav-pills nav-stacked\">";
         foreach ($this->getCategories() as $term) {
             $termModel = new KT_WP_Term_Base_Model($term);
             if ($isSingular) {
                 $classAttribute = in_array($termModel->getId(), $categoriesIds) ? " class=\"active\"" : "";
             } else {
                 $classAttribute = $termModel->getId() == $currentId ? " class=\"active\"" : "";
             }
             echo "<li{$classAttribute}><a href=\"{$termModel->getPermalink()}\" title=\"{$termModel->getName()}\">{$termModel->getName()}</a></li>";
         }
         echo "</ul></div>\n";
     }
     // dynamic sidebar
     if (is_active_sidebar($this->getCurrentSidebarKey())) {
         dynamic_sidebar($this->getCurrentSidebarKey());
     }
 }
Esempio n. 3
0
 /**
  * Načte data do všech fieldsetů na základě postId z tabulky wp_postmeta
  *
  * @author Tomáš Kocifaj
  * @link http://www.ktstudio.cz
  *
  * @param $postId in
  *
  * */
 public function loadDataFromPostMeta($postId)
 {
     if (!KT::isIdFormat($postId) || !$this->hasFieldset()) {
         return $this;
     }
     $transientName = null;
     $transientData = null;
     if (is_admin()) {
         $transientName = $this->getCurrentTransientName();
         $transientData = get_transient($transientName);
     }
     $postMetas = KT_WP_Post_Base_Model::getPostMetas($postId);
     foreach ($this->getFieldsets() as $fieldset) {
         /* @var $fieldset \KT_Form_Fieldset */
         if (KT::issetAndNotEmpty($transientData[$fieldset->getName()])) {
             $this->fieldsets[$fieldset->getName()] = $transientData[$fieldset->getName()];
             continue;
         }
         if (!$fieldset->hasFields()) {
             continue;
         }
         if ($fieldset->getSerializeSave() && array_key_exists($fieldset->getName(), $postMetas)) {
             $fieldset->setFieldsData(unserialize($postMetas[$fieldset->getName()]));
             continue;
         }
         $fieldset->setFieldsData($postMetas);
     }
     return $this;
 }
 function __construct(WP_Post $post)
 {
     parent::__construct($post);
 }
 function __construct(WP_Post $post)
 {
     parent::__construct($post, KT_ZZZ_Page_Config::FORM_PREFIX);
 }