function widget($args, $instance) { $cache = wp_cache_get('widget_nice_popular_articles', 'widget'); if (!is_array($cache)) { $cache = array(); } if (!isset($args['widget_id'])) { $args['widget_id'] = $this->id; } if (isset($cache[$args['widget_id']])) { echo $cache[$args['widget_id']]; return; } ob_start(); extract($args); $title = $instance['title']; $number = $instance['number']; $orderby = $instance['orderby']; if (isset($instance['hideviews'])) { $hideviews = $instance['hideviews']; } if (isset($instance['hidelikes'])) { $hidelikes = $instance['hidelikes']; } if (!isset($orderby) || $orderby == 'views') { $meta_key = '_pageview_count'; } else { $meta_key = '_like_count'; } if (!$number) { $number = 5; } ?> <?php echo $before_widget; ?> <?php if ($title) { echo $before_title . $title . $after_title; } ?> <ul class="clearfix"> <?php $query = new WP_Query(); $query->query(array('post_type' => 'article', 'posts_per_page' => $number, 'caller_get_posts' => 1, 'meta_key' => $meta_key, 'orderby' => 'meta_value_num', 'order' => 'DESC')); ?> <?php if ($query->have_posts()) { while ($query->have_posts()) { $query->the_post(); ?> <li class="clearfix <?php if (has_post_format('video')) { ?> format-video<?php } else { ?> format-standard<?php } ?> "> <a href="<?php the_permalink(); ?> " rel="bookmark"><?php the_title(); ?> </a> <?php if (isset($hidelikes) || isset($hideviews) || !isset($hidelikes) && !isset($hideviews)) { ?> <span class="meta"> <?php if (!isset($hideviews) || !$hideviews) { ?> <span class="nice-views"><i class="fa fa-bullseye"></i> <?php echo get_post_meta(get_the_ID(), '_pageview_count', true); ?> </span> <?php } ?> <?php if (!isset($hidelikes) || !$hidelikes) { ?> <span class="nice-likes"><i class="fa fa-heart"></i> <span class="like-count"><?php echo nicethemes_likes_count(); ?> </span></span> <?php } ?> </span> <?php } ?> </li> <?php } } ?> <?php wp_reset_query(); ?> </ul> <?php echo $after_widget; ?> <?php $cache[$args['widget_id']] = ob_get_flush(); wp_cache_set('widget_nice_popular_articles', $cache, 'widget'); }
/** * nicethemes_likes_ajax() * * Handles the ajax request for the like functionality * * @since 1.0.0 * */ function nicethemes_likes_ajax() { check_ajax_referer('play-nice', 'nonce'); if (!empty($_POST) && !empty($_POST['id'])) { if (nicethemes_likes_can($_POST['id'])) { $count_key = '_like_count'; $count = nicethemes_likes_count($_POST['id']); if ($count == '') { delete_post_meta($_POST['id'], $count_key); add_post_meta($_POST['id'], $count_key, '1'); $count = 1; } else { $count++; update_post_meta($_POST['id'], $count_key, $count); } $ip_list = get_post_meta($_POST['id'], '_like_ip', true); $user_ip = nice_user_ip(); if (count($ip_list) != 0 && is_array($ip_list)) { if (!in_array($user_ip, $ip_list)) { $ip_list[] = $user_ip; } update_post_meta($_POST['id'], '_like_ip', $ip_list); } else { $ip_list = array(); $ip_list[] = $user_ip; update_post_meta($_POST['id'], '_like_ip', $ip_list); } echo $count; } } die; }