get_posts(); if(empty($arrPosts)) $arrPosts = array(); $arrPosts = UniteFunctionsUC::convertStdClassToArray($arrPosts); $strDebug = ""; $arrPostIDs = array(); if($addDebug == true){ $strDebug .= "Popular posts query arguments:"; $strDebug .= "
";
			$strDebug .= print_r($params, true);
			$strDebug .= "
"; $numPosts = count($arrPosts); if(!empty($numPosts)) $strDebug .= "Found $numPosts posts:
"; } foreach($arrPosts as $index => $post){ $num = $index+1; $id = UniteFunctionsUC::getVal($post, "id"); $title = UniteFunctionsUC::getVal($post, "title"); $pageviews = UniteFunctionsUC::getVal($post, "pageviews"); if($addDebug == true) $strDebug .= "{$num}. $title ($id): $pageviews views
"; $arrPostIDs[] = $id; } if(empty($arrPosts) && $addDebug == true) $strDebug .= "No popular posts found
"; //empty the selection if not found if(empty($arrPostIDs)) $arrPostIDs = array("0"); $output = array(); $output["post_ids"] = $arrPostIDs; $output["debug"] = $strDebug; return($output); // Return cached results /* if ( $this->config['tools']['cache']['active'] ) { $key = 'wpp_' . md5(json_encode($params)); $query = \WordPressPopularPosts\Cache::get($key); if ( false === $query ) { $query = new Query($params); $time_value = $this->config['tools']['cache']['interval']['value']; $time_unit = $this->config['tools']['cache']['interval']['time']; // No popular posts found, check again in 1 minute if ( ! $query->get_posts() ) { $time_value = 1; $time_unit = 'minute'; } \WordPressPopularPosts\Cache::set( $key, $query, $time_value, $time_unit ); } } // Get real-time popular posts */ return $query; } private function ___________STICKY_POSTS_STITCH_________(){} /** * check if enabled sticky posts switch plugin */ public static function isStickySwitchPluginEnabled(){ $isExists = class_exists('WP_Sticky_Posts_Switch'); return($isExists); } /** * add sticky posts to a post list */ public static function checkAddStickyPosts($arrPosts, $args){ $isExists = self::isStickySwitchPluginEnabled(); if($isExists == false) return($arrPosts); $arrStickyPostIDs = get_option('sticky_posts'); if(empty($arrStickyPostIDs)) return($arrPosts); $arrStickyAssoc = UniteFunctionsUC::arrayToAssoc($arrStickyPostIDs); $arrPostsNew = array(); $countSticky = 0; $numOriginal = count($arrPosts); //remove the sticky from the list to the sticky assoc array if exists foreach($arrPosts as $post){ $postID = $post->ID; $isSticky = isset($arrStickyAssoc[$postID]); if($isSticky == false){ $arrPostsNew[] = $post; continue; } $arrStickyAssoc[$postID] = $post; $countSticky++; } //if all sticky found - then use the array, if not - get new posts if($countSticky != count($arrStickyAssoc)){ $postType = UniteFunctionsUC::getVal($args, "post_type"); if(empty($postType) || $postType == "post") return($arrPosts); $argsSticky = array(); $argsSticky["post_type"] = $postType; $argsSticky["post__in"] = $arrStickyPostIDs; $argsSticky["post_status"] = "publish"; $argsSticky["nopaging"] = true; $argsSticky["orderby"] = "post__in"; $arrStickyAssoc = get_posts($argsSticky); } if(empty($arrStickyAssoc)) return($arrPosts); //connect the arrays - sticky at the top $arrPostsOutput = array_values($arrStickyAssoc); $numPostsNew = count($arrPostsOutput); foreach($arrPostsNew as $post){ $arrPostsOutput[] = $post; //avoid more then original number of posts if($numPostsNew >= $numOriginal) break; $numPostsNew++; } return($arrPostsOutput); } private function ___________CONTACT_FORM_7_________(){} /** * check if contact form 7 installed */ public static function isContactFrom7Installed(){ if(defined("WPCF7_VERSION")) return(true); return(false); } /** * get contact from 7 array */ public static function getArrContactForm7(){ $arrPosts = UniteFunctionsWPUC::getPostsByType("wpcf7_contact_form"); if(empty($arrPosts)) return(array()); $arrForms = array(); $arrForms["[ Select From ]"] = __("Please Select Contact From 7","unlimited-elements-for-elementor"); foreach($arrPosts as $post){ $postID = $post["ID"]; $title = $post["post_title"]; $title = esc_attr($title); $shortcode = "[contact-form-7 id=\"{$postID}\" title=\"{$title}\"]"; if(isset($arrForms[$title])) $title = "$title ($postID)"; $arrForms[$title] = $shortcode; } return($arrForms); } private function ___________JET_WISHLIST_________(){} /** * put woocommerce jet wishlist button if exist */ public static function putJetWooWishlistButton(){ if(GlobalsProviderUC::$isInsideEditor == true) return(false); if(class_exists("Jet_CW") == false) return(false); $objJetCW = Jet_CW(); if(empty($objJetCW)) return(false); $isEnabled = $objJetCW->wishlist_enabled; if($isEnabled == false) return(false); $objSettings = $objJetCW->settings; if(empty($objSettings)) return(false); $isAddDefault = $objSettings->get("add_default_wishlist_button"); $isAddDefault = UniteFunctionsUC::strToBool($isAddDefault); if($isAddDefault == false) return(false); if(empty($objJetCW->wishlist_integration)) return(false); if(method_exists($objJetCW->wishlist_integration,"add_wishlist_button_default") == false) return(false); $objJetCW->wishlist_integration->add_wishlist_button_default(); } /** * check integrate with relevancy * add "relevancy" if search found and relevancy plugin exists */ public static function checkPostQueryRelevancy($args){ if(function_exists("relevanssi_init") == false) return($args); $search = UniteFunctionsUC::getVal($args, "s"); if(empty($search)) return($args); $args["relevanssi"] = true; return($args); } /** * modify post query integrations */ public static function modifyPostQueryIntegrations($args){ $args = self::checkPostQueryRelevancy($args); return($args); } }