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);
}
}