/** Display widget */ public function widget($args, $instance) { extract($args, EXTR_SKIP); $title = apply_filters('widget_title', $instance['title']); $q_args = array('post_type' => Leyka_Campaign_Management::$post_type, 'posts_per_page' => empty($instance['limit']) ? 3 : (int) $instance['limit'], 'post_status' => 'publish'); if (!empty($instance['include'])) { $q_args['post__in'] = array_map('intval', explode(',', $instance['include'])); } if (!empty($instance['exclude'])) { $q_args['post__not_in'] = array_map('intval', explode(',', $instance['exclude'])); } $query = new WP_Query(apply_filters('leyka_campaigns_list_widget_query_args', $q_args, $instance)); if (!$query->have_posts()) { return; } $args = array('show_title' => !empty($instance['show_title']), 'show_thumb' => !empty($instance['show_thumb']), 'show_excerpt' => !empty($instance['show_excerpt']), 'show_scale' => !empty($instance['show_scale']), 'show_button' => !empty($instance['show_button'])); echo $before_widget; if ($title) { echo $before_title . $title . $after_title; } $css_id = 'leyka_campaign_list_widget-' . uniqid(); echo "<div id='" . esc_attr($css_id) . "' class='leyka-campaigns-list'>"; add_filter('leyka_campaign_card_thumbnail_size', array($this, '_campaign_thumb_size')); add_filter('leyka_campaign_card_class', array($this, '_campaign_css')); foreach ($query->posts as $qp) { echo leyka_get_campaign_card($qp->ID, $args); } remove_filter('leyka_campaign_card_thumbnail_size', array($this, '_campaign_thumb_size')); remove_filter('leyka_campaign_card_class', array($this, '_campaign_css')); echo "</div>"; echo $after_widget; }
color: #fff; background: #1db318; padding: 0.5em 1.5em; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -ms-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease; } .leyka-scale-button a:hover, .leyka-scale-button a:focus, .leyka-scale-button a:active { background: #189414; } </style> </head> <body> <div id="embedded-card"> <?php echo leyka_get_campaign_card($campaign->id, array('embed_mode' => 1, 'increase_counters' => !empty($_GET['increase_counters']))); if (!empty($_GET['increase_counters'])) { $campaign->increase_views_counter(); } ?> </div> </body> </html>
function leyka_campaign_card_screen($atts) { global $post; $a = shortcode_atts(array('id' => 0, 'show_title' => 1, 'show_thumb' => 1, 'show_excerpt' => 1, 'show_scale' => 1, 'show_button' => 1), $atts); $campaign_post = $a['id'] > 0 ? get_post($a['id']) : $post; if ($campaign_post->post_type != Leyka_Campaign_Management::$post_type) { // Wrong campaign data return ''; } $campaign = new Leyka_Campaign($campaign_post); $campaign->increase_views_counter(); // Increase campaign views counter return '<div id="' . esc_attr('leyka_campaign_card_standalone-' . uniqid()) . '">' . leyka_get_campaign_card($campaign_post, $a) . '</div>'; }