/** * * set custom values to settings */ public static function setSettingsCustomValues(UniteSettingsBiz $settings, $arrValues, $postTypesWithCats) { $settings = self::setCategoryByPostTypes($settings, $arrValues, $postTypesWithCats, "post_types", "post_category", "post"); if (UniteFunctionsWooCommerceBiz::isWooCommerceExists()) { $settings = self::setCategoryByPostTypes($settings, $arrValues, $postTypesWithCats, "wc_post_types", "wc_post_category", "product"); } return $settings; }
/** * * get the template markup editor hard coded buttons. */ public function getArrEditorButtons() { $prefix = "showbiz_"; $arrButtons = array(); $arrButtons[$prefix . "id"] = "ID"; $arrButtons[$prefix . "title"] = "Title"; $arrButtons[$prefix . "author"] = "Author"; $arrButtons[$prefix . "author_id"] = "Author ID"; $arrButtons[$prefix . "alias"] = "Alias"; //$arrButtons[$prefix."empty_image"] = "Empty Image"; $arrButtons[$prefix . "image"] = "Image Url"; $arrButtons[$prefix . "image_orig"] = "Orig. Image Url"; $arrButtons[$prefix . "content"] = "Content"; $arrButtons[$prefix . "excerpt"] = "Excerpt (text intro)"; $arrButtons[$prefix . "numcomments"] = "Num. of Comments"; $arrButtons[$prefix . "link"] = "Link"; $arrButtons[$prefix . "date"] = "Date"; $arrButtons[$prefix . "catlist"] = "Categoires"; $arrButtons[$prefix . "taglist"] = "Tags"; $arrButtons[$prefix . "modified_date"] = "Modified Date"; $arrButtons[$prefix . "youtube_id"] = "Youtube ID"; $arrButtons[$prefix . "vimeo_id"] = "Vimeo ID"; if (UniteFunctionsWooCommerceBiz::isWooCommerceExists()) { $arrButtons[$prefix . "wc_regular_price"] = "WC Regular Price"; $arrButtons[$prefix . "wc_sale_price"] = "WC Sale Price"; $arrButtons[$prefix . "wc_stock"] = "WC Stock"; $arrButtons[$prefix . "wc_rating"] = "WC Rating"; $arrButtons[$prefix . "wc_categories"] = "WC Cats"; } return $arrButtons; }
/** * * get posts from categories (by the slider params). */ private function getPostsFromWCCategories() { $catIDs = $this->getParam("wc_post_category", 0); $data = $this->getCatAndTaxData($catIDs); $taxonomies = $data["tax"]; $catIDs = $data["cats"]; //dmp($catIDs);exit(); $sortBy = $this->getParam("wc_post_sortby", self::DEFAULT_POST_SORTBY); $sortDir = $this->getParam("wc_posts_sort_direction", self::DEFAULT_POST_SORTDIR); $maxPosts = $this->getParam("wc_max_slider_posts", "30"); if (empty($maxPosts) || !is_numeric($maxPosts)) { $maxPosts = -1; } $postTypes = $this->getParam("wc_post_types", "any"); //set direction for custom order if ($sortBy == UniteFunctionsWPBiz::SORTBY_MENU_ORDER) { $sortDir = UniteFunctionsWPBiz::ORDER_DIRECTION_ASC; } //get meta filters $args = array(); $args[UniteFunctionsWooCommerceBiz::ARG_REGULAR_PRICE_FROM] = $this->getParam("wc_regular_price_from"); $args[UniteFunctionsWooCommerceBiz::ARG_REGULAR_PRICE_TO] = $this->getParam("wc_regular_price_to"); $args[UniteFunctionsWooCommerceBiz::ARG_SALE_PRICE_FROM] = $this->getParam("wc_sale_price_from"); $args[UniteFunctionsWooCommerceBiz::ARG_SALE_PRICE_TO] = $this->getParam("wc_sale_price_to"); $args[UniteFunctionsWooCommerceBiz::ARG_IN_STOCK_ONLY] = $this->getParam("wc_instock_only", "false"); $args[UniteFunctionsWooCommerceBiz::ARG_FEATURED_ONLY] = $this->getParam("wc_featured_only", "false"); $metaQuery = UniteFunctionsWooCommerceBiz::getMetaQuery($args); $arrPosts = UniteFunctionsWPBiz::getPostsByCategory($catIDs, $sortBy, $sortDir, $maxPosts, $postTypes, $taxonomies, $metaQuery); return $arrPosts; }
/** * * process template html * get item html and process it by the template */ public function processTemplateHtml($html) { $title = $this->getValue("title"); $alias = $this->getValue("alias"); $urlImage = $this->imageUrl; $urlImageOrig = $this->imageUrlOrig; $text = $this->getValue("slide_text"); $link = $this->getValue("link"); if (empty($link)) { $link = "#"; } $date = $this->getValue("date"); $dateModified = $this->getValue("date_modified"); $excerpt = $this->getValue("excerpt"); $youtubeID = $this->getValue("youtube_id"); $vimeoID = $this->getValue("vimeo_id"); $authorName = $this->getValue("author_name"); $authorID = $this->getValue("author_id"); $numComments = $this->getValue("num_comments"); $catList = $this->getValue("catlist"); $tagList = $this->getValue("taglist"); $postID = $this->id; if ($this->getValue('lazy_load') == 'on') { $html = UniteFunctionsBiz::add_lazy_loading($html, $this->getValue('lazy_load_image'), $this->getValue('lazy_load_height')); } //replace the items in the html $html = $this->replacePlaceholder("title", $title, $html); $html = $this->replacePlaceholder("id", $postID, $html); $html = $this->replacePlaceholder("alias", $alias, $html); $html = $this->replacePlaceholder("name", $alias, $html); $html = $this->replacePlaceholder("empty_image", UniteBaseClassBiz::$url_plugin . 'images/transparent.png', $html); $html = $this->replacePlaceholder("image", $urlImage, $html); $html = $this->replacePlaceholder("image_orig", $urlImageOrig, $html); $html = $this->replacePlaceholder("content", $text, $html); $html = $this->replacePlaceholder("link", $link, $html); $html = $this->replacePlaceholder("date", $date, $html); $html = $this->replacePlaceholder("modified_date", $dateModified, $html); $html = $this->replacePlaceholder("excerpt", $excerpt, $html); $html = $this->replacePlaceholder("youtube_id", $youtubeID, $html); $html = $this->replacePlaceholder("vimeo_id", $vimeoID, $html); $html = $this->replacePlaceholder("author_id", $authorID, $html); $html = $this->replacePlaceholder("author", $authorName, $html); $html = $this->replacePlaceholder("numcomments", $numComments, $html); $html = $this->replacePlaceholder("catlist", $catList, $html); $html = $this->replacePlaceholder("taglist", $tagList, $html); //replace custom options: $wildcards = new ShowBizWildcards(); $arrCustomOptionsNames = $wildcards->getWildcardsSettingNames(); foreach ($arrCustomOptionsNames as $name => $title) { $html = $this->replacePlaceholder($name, $this->getValue($name), $html, false); } //replace woocommerce options: $enableWC = $this->getParam("enable_wc", "on"); if ($enableWC == "on" && UniteFunctionsWooCommerceBiz::isWooCommerceExists() && $this->slideType == self::TYPE_POST) { $WCRegularPrice = get_post_meta($this->id, "_regular_price", true); $WCSalePrice = get_post_meta($this->id, "_sale_price", true); $WCStock = get_post_meta($this->id, "_stock", true); $WCProduct = get_product($this->id); $WCRating = $WCProduct->get_average_rating(); if (empty($WCRating)) { $WCRating = 0; } $WCCategories = $WCProduct->get_categories(","); $html = $this->replacePlaceholder("wc_regular_price", $WCRegularPrice, $html); $html = $this->replacePlaceholder("wc_sale_price", $WCSalePrice, $html); $html = $this->replacePlaceholder("wc_stock", $WCStock, $html); $html = $this->replacePlaceholder("wc_rating", $WCRating, $html); $html = $this->replacePlaceholder("wc_categories", $WCCategories, $html); } //process meta tags: $arrMatches = array(); //preg_match('/\[showbiz_meta:\w+\]/', $html, $arrMatches); preg_match_all('/\\[showbiz_meta:\\w+\\]/', $html, $arrMatches); foreach ($arrMatches as $matches) { if (is_array($matches)) { foreach ($matches as $match) { $meta = str_replace("[showbiz_meta:", "", $match); $meta = str_replace("]", "", $meta); $metaValue = get_post_meta($postID, $meta, true); $html = str_replace($match, $metaValue, $html); } } } //$meta = get_post_meta($this->id);dmp($meta);exit(); //replace all the normal shortcodes $html = do_shortcode($html); //check for shortcodes return $html; }
$sliderMainSettings->addTextBox("img_source_type_height", "", "Image Height", $arrParams); $sliderMainSettings->endBulkControl(); //image ratio $arrImgRatio = array("none" => "None", "1_1" => "1:1", "3_2" => "3:2", "4_3" => "4:3", "16_9" => "16:9", "16_10" => "16:10", "2_3" => "2:3", "3_4" => "3:4", "9_16" => "9:16", "10_16" => "10:16"); $sliderMainSettings->addSelect("img_ratio", $arrImgRatio, "Image Ratio", "none"); // -------------- Woo Commerce ------------------ if (UniteFunctionsWooCommerceBiz::isWooCommerceExists()) { $wcPostTypes = UniteFunctionsWooCommerceBiz::getCustomPostTypes(); $sliderMainSettings->startBulkControl("source_type", UniteSettingsBiz::CONTROL_TYPE_SHOW, "woocommerce"); $arrParams = array("args" => "multiple size='2'"); $sliderMainSettings->addSelect("wc_post_types", $wcPostTypes, "Post Types", "post", $arrParams); //post categories $arrParams = array("args" => "multiple size='7'"); $sliderMainSettings->addSelect("wc_post_category", array(), "Post Categories", "", $arrParams); //sort by $arrSortBy = UniteFunctionsWooCommerceBiz::getArrSortBy(); $sliderMainSettings->addSelect("wc_post_sortby", $arrSortBy, "Sort Posts By", ShowBizSlider::DEFAULT_POST_SORTBY); //sort direction $arrSortDir = UniteFunctionsWPBiz::getArrSortDirection(); $sliderMainSettings->addRadio("wc_posts_sort_direction", $arrSortDir, "Sort Direction", ShowBizSlider::DEFAULT_POST_SORTDIR); //max posts for slider $arrParams = array("class" => "small", "unit" => "posts"); $sliderMainSettings->addTextBox("wc_max_slider_posts", "30", "Max Posts Per Slider", $arrParams); $sliderMainSettings->addStaticText("------ WooCommerce Filters ---------", "text_filters"); $arrParams = array("class" => "small", UniteSettingsBiz::PARAM_ADDTEXT_BEFORE_ELEMENT => "From:"); $sliderMainSettings->addTextBox("wc_regular_price_from", "", "Regular Price", $arrParams); $arrParams = array("class" => "small", UniteSettingsBiz::PARAM_OUTPUTWITH => "wc_regular_price_from", UniteSettingsBiz::PARAM_ADDTEXT_BEFORE_ELEMENT => " To:"); $sliderMainSettings->addTextBox("wc_regular_price_to", "", "Regular Price To", $arrParams); $arrParams = array("class" => "small", UniteSettingsBiz::PARAM_ADDTEXT_BEFORE_ELEMENT => "From:"); $sliderMainSettings->addTextBox("wc_sale_price_from", "", "Sale Price", $arrParams); $arrParams = array("class" => "small", UniteSettingsBiz::PARAM_OUTPUTWITH => "wc_sale_price_from", UniteSettingsBiz::PARAM_ADDTEXT_BEFORE_ELEMENT => " To:");