public function widget($args, $instance) { $this->instance = $instance; $order = hocwp_get_value_by_key($instance, 'order', hocwp_get_value_by_key($this->args, 'order')); $orders = explode(',', $order); $orders = array_map('trim', $orders); $orders = hocwp_sanitize_array($orders); $option_names = $this->args['option_names']; $options = hocwp_get_option('option_social'); $icons = $this->args['icons']; $description = hocwp_get_value_by_key($instance, 'description'); hocwp_widget_before($args, $instance); ob_start(); if (!empty($description)) { echo hocwp_wrap_tag(wpautop($description), 'div', 'description'); } if (hocwp_array_has_value($orders)) { foreach ($orders as $social) { $option_name = hocwp_get_value_by_key($option_names, $social); $item = hocwp_get_value_by_key($options, $option_name); if (!empty($item)) { $icon = '<i class="fa ' . $icons[$social] . '"></i>'; $a = new HOCWP_HTML('a'); $a->set_href($item); $a->set_class('social-item link-' . $social); $a->set_text($icon); $a->output(); } } } $widget_html = ob_get_clean(); $widget_html = apply_filters('hocwp_widget_social_html', $widget_html, $args, $instance, $this); echo $widget_html; hocwp_widget_after($args, $instance); }
public function widget($args, $instance) { $this->instance = $instance; $title_text = isset($instance['title']) ? $instance['title'] : ''; $first_char = hocwp_get_first_char($title_text); if ('!' === $first_char) { $title_text = ltrim($title_text, '!'); } $banner_image = isset($instance['banner_image']) ? $instance['banner_image'] : ''; $banner_url = isset($instance['banner_url']) ? $instance['banner_url'] : ''; $banner_image = hocwp_sanitize_media_value($banner_image); $banner_image = $banner_image['url']; if (!empty($banner_image)) { hocwp_widget_before($args, $instance); $img = new HOCWP_HTML('img'); $img->set_image_src($banner_image); $img->set_image_alt($title_text); $img->set_class('hocwp-banner-image'); $html = $img->build(); if (!empty($banner_url)) { $a = new HOCWP_HTML('a'); $a->set_class('hocwp-banner-link'); $a->set_attribute('title', $title_text); $a->set_href($banner_url); $a->set_text($html); $nofollow = hocwp_get_value_by_key($instance, 'nofollow', hocwp_get_value_by_key($this->args, 'nofollow')); if ((bool) $nofollow) { $a->set_attribute('rel', 'nofollow'); } $html = $a->build(); } $widget_html = apply_filters('hocwp_widget_banner_html', $html, $args, $instance, $this); echo $widget_html; hocwp_widget_after($args, $instance); } }
function hocwp_show_ads($args = array()) { $ads = $args; $position = ''; if (!is_object($args)) { if (!is_array($args)) { $args = array('position' => $args); } $position = hocwp_get_value_by_key($args, 'position'); if (!empty($position)) { $random = (bool) hocwp_get_value_by_key($args, 'random'); $current_datetime = date(hocwp_get_date_format()); $current_datetime = strtotime($current_datetime); $query_args = array('post_type' => 'hocwp_ads', 'posts_per_page' => 1, 'meta_query' => array('relation' => 'AND', array('relation' => 'OR', array('key' => 'expire', 'compare' => 'NOT EXISTS'), array('key' => 'expire', 'value' => '', 'compare' => '='), array('key' => 'expire', 'value' => 0, 'type' => 'numeric'), array('key' => 'expire', 'value' => $current_datetime, 'type' => 'numeric', 'compare' => '>=')), array('key' => 'active', 'value' => 1, 'type' => 'numeric'))); if ($random) { $query_args['orderby'] = 'rand'; } $ads = hocwp_get_post_by_meta('position', $position, $query_args); if ($ads->have_posts()) { $posts = $ads->posts; $ads = array_shift($posts); } } } if (hocwp_is_post($ads) && 'hocwp_ads' == $ads->post_type) { $code = hocwp_get_post_meta('code', $ads->ID); if (empty($code)) { $image = hocwp_get_post_meta('image', $ads->ID); $image = hocwp_sanitize_media_value($image); $image = $image['url']; if (!empty($image)) { $img = new HOCWP_HTML('img'); $img->set_image_src($image); $url = hocwp_get_post_meta('url', $ads->ID); if (!empty($url)) { $a = new HOCWP_HTML('a'); $a->set_href($url); $a->set_text($img); $code = $a->build(); } else { $code = $img->build(); } } } if (!empty($code)) { $class = hocwp_get_value_by_key($args, 'class'); hocwp_add_string_with_space_before($class, 'hocwp-ads text-center ads'); if (!empty($position)) { hocwp_add_string_with_space_before($class, 'position-' . $position); $position = hocwp_sanitize_html_class($position); $class = hocwp_add_more_class($class, $position); } hocwp_add_string_with_space_before($class, $ads->post_name); $div = new HOCWP_HTML('div'); $div->set_class($class); $div->set_text($code); $html = $div->build(); $html = apply_filters('hocwp_ads_html', $html, $ads_or_args = $args); echo $html; } } }
function hocwp_facebook_comment($args = array()) { $args = apply_filters('hocwp_facebook_comment_args', $args); $colorscheme = isset($args['colorscheme']) ? $args['colorscheme'] : 'light'; $colorscheme = apply_filters('hocwp_facebook_comment_colorscheme', $colorscheme, $args); $href = isset($args['href']) ? $args['href'] : ''; if (empty($href)) { if (is_single() || is_page() || is_singular()) { $href = get_the_permalink(); } } if (empty($href)) { $href = $this->get_current_url(); } $href = apply_filters('hocwp_facebook_comment_href', $href, $args); $mobile = isset($args['mobile']) ? $args['mobile'] : ''; $num_posts = isset($args['num_posts']) ? $args['num_posts'] : 10; $num_posts = apply_filters('hocwp_facebook_comment_num_posts', $num_posts, $args); $order_by = isset($args['order_by']) ? $args['order_by'] : 'social'; $width = isset($args['width']) ? $args['width'] : '100%'; $width = apply_filters('hocwp_facebook_comment_width', $width, $args); $loading_text = hocwp_get_value_by_key($args, 'loading_text', __('Loading...', 'hocwp-theme')); $div = new HOCWP_HTML('div'); $div->set_class('fb-comments'); $atts = array('data-colorscheme' => $colorscheme, 'data-href' => $href, 'data-mobile' => $mobile, 'data-numposts' => $num_posts, 'data-order-by' => $order_by, 'data-width' => $width); $atts = apply_filters('hocwp_facebook_comment_attributes', $atts, $args); $div->set_attribute_array($atts); $div->set_text($loading_text); $div->output(); }
public function set_page_title_action($action, $url, $text) { $action = hocwp_sanitize($action, 'html_class'); hocwp_add_string_with_space_before($action, 'page-title-action'); $link = new HOCWP_HTML('a'); $link->set_class($action); $link->set_attribute('href', $url); $link->set_text($text); $this->page_title_action = $link->build(); }
function hocwp_post_link_only(WP_Post $post, $list = false) { if (hocwp_is_post($post)) { $a = new HOCWP_HTML('a'); $a->set_href(get_permalink($post)); $a->set_text($post->post_title); $a->add_class('post-link'); $a->add_class('link-only'); if ($list) { $li = new HOCWP_HTML('li'); $li->set_class(get_post_class('', $post->ID)); $li->set_text($a); $li->output(); } else { $a->output(); } } }
public function widget($args, $instance) { $this->instance = $instance; global $post; $title = hocwp_widget_title($args, $instance, false); $post_type = $this->get_post_type_from_instance($instance); $post_types = array(); foreach ($post_type as $fvdata) { $ptvalue = isset($fvdata['value']) ? $fvdata['value'] : ''; if (!empty($ptvalue)) { $post_types[] = $ptvalue; } } $number = isset($instance['number']) ? $instance['number'] : $this->args['number']; $by = isset($instance['by']) ? $instance['by'] : $this->args['by']; $category = isset($instance['category']) ? $instance['category'] : json_encode($this->args['category']); $category = hocwp_json_string_to_array($category); $excerpt_length = isset($instance['excerpt_length']) ? $instance['excerpt_length'] : $this->args['excerpt_length']; $content_class = 'widget-content'; $slider = hocwp_get_value_by_key($instance, 'slider', hocwp_get_value_by_key($this->args, 'slider')); $title_length = hocwp_get_value_by_key($instance, 'title_length', hocwp_get_value_by_key($this->args, 'title_length')); $hide_thumbnail = hocwp_get_value_by_key($instance, 'hide_thumbnail', hocwp_get_value_by_key($this->args, 'hide_thumbnail')); $widget_title_link_category = hocwp_get_value_by_key($instance, 'widget_title_link_category', hocwp_get_value_by_key($this->args, 'widget_title_link_category')); $category_as_widget_title = hocwp_get_value_by_key($instance, 'category_as_widget_title', hocwp_get_value_by_key($this->args, 'category_as_widget_title')); if ((bool) $slider) { hocwp_add_string_with_space_before($content_class, 'post-slider'); } if ('category' == $by && (bool) $widget_title_link_category) { $cvalue = current($category); $term_id = isset($cvalue['value']) ? $cvalue['value'] : ''; $term_id = absint($term_id); if ($term_id > 0) { $taxonomy = isset($cvalue['taxonomy']) ? $cvalue['taxonomy'] : ''; $link = new HOCWP_HTML('a'); $link->set_class('term-link'); $link->set_href(get_term_link($term_id, $taxonomy)); if ((bool) $category_as_widget_title) { $term = get_term($term_id, $taxonomy); $title = $term->name; } else { $title = hocwp_get_value_by_key($instance, 'title'); } $link->set_text($title); $title = hocwp_get_value_by_key($args, 'before_title') . $link->build() . hocwp_get_value_by_key($args, 'after_title'); } } $query_args = array('posts_per_page' => $number, 'post_type' => $post_types); $w_query = new WP_Query(); $get_by = false; switch ($by) { case 'recent': $get_by = true; break; case 'modified': case 'recent_modified': $get_by = true; $query_args['orderby'] = 'modified'; $query_args['order'] = 'DESC'; break; case 'rand': case 'random': $get_by = true; $query_args['orderby'] = 'rand'; break; case 'most_comment': case 'comment_count': case 'comment': $get_by = true; $query_args['orderby'] = 'comment_count'; break; case 'category': foreach ($category as $cvalue) { $term_id = isset($cvalue['value']) ? $cvalue['value'] : ''; $term_id = absint($term_id); if ($term_id > 0) { $taxonomy = isset($cvalue['taxonomy']) ? $cvalue['taxonomy'] : ''; if (!empty($taxonomy)) { $tax_item = array('taxonomy' => $taxonomy, 'field' => 'term_id', 'terms' => $term_id); $query_args = hocwp_query_sanitize_tax_query($tax_item, $query_args); $get_by = true; } } } break; case 'related': $get_by = true; break; case 'like': $get_by = true; $query_args['meta_key'] = 'likes'; $query_args['orderby'] = 'meta_value_num'; break; case 'view': $get_by = true; $query_args['meta_key'] = 'views'; $query_args['orderby'] = 'meta_value_num'; break; case 'featured': $get_by = true; hocwp_query_sanitize_featured_args($query_args); break; case 'favorite': break; case 'rate': break; } $get_by = apply_filters('hocwp_widget_post_get_by_check_status', $get_by, $args, $instance, $this); if ($get_by) { $query_args = apply_filters('hocwp_widget_post_query_args', $query_args, $args, $instance, $this); if ('related' == $by) { $w_query = hocwp_query_related_post($query_args); } else { $w_query = hocwp_query($query_args); } } $widget_html = hocwp_get_value_by_key($args, 'before_widget') . $title; $widget_html .= '<div class="' . $content_class . '">'; $widget_post_pre_html = apply_filters('hocwp_widget_post_pre_html', '', $args, $instance, $this); if (!empty($widget_post_pre_html)) { $widget_html .= $widget_post_pre_html; } else { if ($w_query->have_posts()) { $widget_html .= apply_filters('hocwp_widget_post_before_loop', '', $args, $instance, $this); if ((bool) $slider) { $four_posts = array_slice($w_query->posts, 0, 4); $next_posts = array_slice($w_query->posts, 4, absint($w_query->post_count - 4)); $widget_content = apply_filters('hocwp_widget_post_pre_slider_html', '', $args, $instance, $this); if (empty($widget_content)) { $carousel_id = $this->id; $carousel_id = hocwp_sanitize_id($carousel_id); $count = 0; ob_start(); ?> <div id="<?php echo $carousel_id; ?> " class="carousel slide" data-ride="carousel"> <div class="carousel-inner" role="listbox"> <?php foreach ($four_posts as $post) { setup_postdata($post); $class = 'item'; if (0 == $count) { hocwp_add_string_with_space_before($class, 'active'); } ?> <div class="<?php echo $class; ?> "> <?php hocwp_article_before(); do_action('hocwp_widget_post_slider_before_post', $args, $instance, $this); if (!(bool) $hide_thumbnail) { if ('coupon' == $post->post_type) { $store = hocwp_get_coupon_store($post->ID); echo '<div class="text-center store-logo">'; hocwp_term_the_thumbnail(array('term' => $store, 'width' => 180, 'height' => 110)); echo '</div>'; } else { hocwp_post_thumbnail(array('width' => 300, 'height' => 200)); } } do_action('hocwp_widget_post_slider_before_post_title', $args, $instance, $this); hocwp_post_title_link(array('title' => hocwp_substr(get_the_title(), $title_length))); do_action('hocwp_widget_post_slider_after_post_title', $args, $instance, $this); hocwp_entry_summary($excerpt_length); do_action('hocwp_widget_post_slider_after_post', $args, $instance, $this); hocwp_article_after(); ?> </div> <?php $count++; } wp_reset_postdata(); ?> </div> <ol class="carousel-indicators list-inline list-unstyled"> <?php $count = count($four_posts); for ($i = 0; $i < $count; $i++) { $indicator_class = 'indicator-item'; if (0 == $i) { hocwp_add_string_with_space_before($indicator_class, 'active'); } ?> <li data-target="#<?php echo $carousel_id; ?> " data-slide-to="<?php echo $i; ?> " class="<?php echo $indicator_class; ?> "> <span><?php echo $i + 1; ?> </span> </li> <?php } ?> </ol> <a class="left carousel-control" href="#<?php echo $carousel_id; ?> " role="button" data-slide="prev"> <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span> <span class="sr-only"><?php _e('Previous', 'hocwp-theme'); ?> </span> </a> <a class="right carousel-control" href="#<?php echo $carousel_id; ?> " role="button" data-slide="next"> <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span> <span class="sr-only"><?php _e('Next', 'hocwp-theme'); ?> </span> </a> </div> <?php $widget_content = ob_get_clean(); if (hocwp_array_has_value($next_posts)) { $w_query->posts = $next_posts; $w_query->post_count = count($next_posts); ?> <div class="more-posts"> <?php $widget_content .= $this->list_post_html($args, $instance, $w_query); ?> </div> <?php } } $widget_content = apply_filters('hocwp_widget_post_slider_html', $widget_content, $args, $instance, $this); $widget_html .= $widget_content; } else { $widget_html .= $this->list_post_html($args, $instance, $w_query); } $widget_html .= apply_filters('hocwp_widget_post_after_loop', '', $args, $instance, $this); } else { $widget_html .= '<p class="nothing-found">' . __('Nothing found!', 'hocwp-theme') . '</p>'; } } $widget_html = apply_filters('hocwp_widget_post_html', $widget_html, $args, $instance, $this); $widget_html .= '</div>'; $widget_html .= hocwp_get_value_by_key($args, 'after_widget'); echo $widget_html; }
function hocwp_lostpassword_form($args = array()) { $defaults = hocwp_account_form_default_args(); $args = wp_parse_args($args, $defaults); $data = hocwp_execute_lostpassword(); $user_login = $data['user_login']; $error = $data['error']; $message = $data['message']; $redirect_to = hocwp_get_value_by_key($args, 'redirect_to', hocwp_get_method_value('redirect_to', 'get')); $logo = hocwp_get_value_by_key($args, 'logo', hocwp_get_login_logo_url()); ?> <div class="hocwp-login-box module"> <div class="module-header text-center"> <?php if (!empty($logo)) { $a = new HOCWP_HTML('a'); $a->set_href(home_url('/')); $a->set_class('logo'); $img = new HOCWP_HTML('img'); $img->set_image_alt(''); $img->set_image_src($logo); $a->set_text($img->build()); $a->output(); } $slogan = new HOCWP_HTML('p'); $slogan->set_class('slogan'); $slogan->set_text(sprintf($args['slogan'], hocwp_get_root_domain_name(home_url('/')))); $slogan->output(); if (isset($_POST['submit']) || isset($_POST['wp-submit'])) { if (isset($_REQUEST['error']) || $error) { $message = hocwp_build_message($message, 'danger'); echo $message; } else { if (!empty($message) && !$error || isset($_POST['submit']) && !empty($message)) { $message = hocwp_build_message($message, 'success'); echo $message; } } } ?> </div> <div class="module-body"> <h4 class="form-title"><?php _e('Reset password', 'hocwp-theme'); ?> </h4> <form name="lostpasswordform" id="lostpasswordform" action="<?php echo esc_url(wp_lostpassword_url()); ?> " method="post"> <p> <label><?php echo hocwp_get_value_by_key($args, 'label_username', __('Username or Email', 'hocwp-theme')); ?> <br> <input type="text" size="20" value="<?php echo esc_attr($user_login); ?> " class="input" id="user_login" name="user_login"></label> </p> <input type="hidden" name="action" value="lostpassword"> <input type="hidden" name="redirect_to" value="<?php echo $redirect_to; ?> "> <p class="submit"> <input type="submit" name="wp-submit" id="wp-submit" class="button-primary" value="Get New Password" tabindex="100"></p> </form> </div> <div class="module-footer"> <div class="text-center"> <p class="form-nav"> <a href="<?php echo esc_url(wp_login_url()); ?> "><?php echo hocwp_get_value_by_key($args, 'label_log_in', __('Login', 'hocwp-theme')); ?> </a> <span class="sep">|</span> <a href="<?php echo esc_url(wp_lostpassword_url()); ?> " title="<?php echo $args['title_lostpassword_link']; ?> "><?php echo $args['text_lostpassword_link']; ?> </a> </p> </div> </div> </div> <?php }
function hocwp_icon_circle_ajax($post_id, $meta_key) { $div = new HOCWP_HTML('div'); $div->set_attribute('style', 'text-align: center'); $div->set_class('hocwp-switcher-ajax'); $span = new HOCWP_HTML('span'); $circle_class = 'icon-circle'; $result = get_post_meta($post_id, $meta_key, true); if (1 == $result) { $circle_class .= ' icon-circle-success'; } $span->set_attribute('data-id', $post_id); $span->set_attribute('data-value', $result); $span->set_attribute('data-key', $meta_key); $span->set_class($circle_class); $div->set_text($span->build()); $div->output(); }
function hocwp_setup_theme_custom_footer() { if (!wp_is_mobile()) { $options = get_option('hocwp_theme_custom'); $background_music = hocwp_get_value_by_key($options, 'background_music'); if (!empty($background_music)) { $play_on = hocwp_get_value_by_key($options, 'play_on'); if (empty($play_on)) { $defaults = hocwp_option_defaults(); $play_on = hocwp_get_value_by_key($defaults, array('theme_custom', 'background_music', 'play_on')); } $play = false; if ('home' == $play_on && is_home()) { $play = true; } elseif ('single' == $play_on && is_single()) { $play = true; } elseif ('page' == $play_on && is_page()) { $play = true; } elseif ('archive' == $play_on && is_archive()) { $play = true; } elseif ('search' == $play_on && is_search()) { $play = true; } elseif ('all' == $play_on) { $play = true; } $play = apply_filters('hocwp_play_background_music', $play); if ((bool) $play) { $div = new HOCWP_HTML('div'); $div->set_class('hocwp-background-music hocwp-hidden'); if (hocwp_url_valid($background_music)) { } $div->set_text($background_music); $div->output(); } } } }
function hocwp_setup_theme_more_user_profile($user) { $user_id = $user->ID; ?> <h3><?php _e('Social Accounts', 'hocwp-theme'); ?> </h3> <table class="form-table"> <tr> <th><label for="facebook">Facebook</label></th> <td> <?php $facebook = get_the_author_meta('facebook', $user_id); $input = new HOCWP_HTML('input'); $input->set_attribute('name', 'facebook'); if (empty($facebook)) { $input->set_attribute('type', 'button'); $input->set_text(__('Connect with Facebook account', 'hocwp-theme')); $input->set_class('button button-secondary hide-if-no-js hocwp-connect-facebook facebook'); $input->set_attribute('onclick', 'hocwp_facebook_login();'); } else { $facebook_data = get_the_author_meta('facebook_data', $user_id); $avatar = hocwp_get_value_by_key($facebook_data, array('picture', 'data', 'url')); $email = hocwp_get_value_by_key($facebook_data, 'email'); if (!empty($avatar)) { $img = new HOCWP_HTML('img'); $img->set_image_alt(''); $img->set_image_src($avatar); } $input->set_attribute('type', 'text'); $input->set_attribute('readonly', 'readonly'); $input->set_attribute('value', $facebook . ' - ' . $email); $input->set_class('regular-text hocwp-disconnect-social facebook'); $input->set_attribute('data-user-id', $user_id); $input->set_attribute('data-social', 'facebook'); } if (empty($facebook) && 'profile.php' == $GLOBALS['pagenow']) { $input->output(); if (empty($facebook)) { hocwp_facebook_login_script(array('connect' => true)); } } else { if (!empty($facebook)) { $input->output(); } else { _e('You can only connect to social account on profile page.', 'hocwp-theme'); } } ?> </td> </tr> <tr> <th><label for="google">Google</label></th> <td> <?php $social = 'google'; $social_id = get_the_author_meta($social, $user_id); $input = new HOCWP_HTML('input'); $input->set_attribute('name', $social); if (empty($social_id)) { $input->set_attribute('type', 'button'); $input->set_text(__('Connect with Google account', 'hocwp-theme')); $input->set_class('button button-secondary hide-if-no-js hocwp-connect-' . $social . ' ' . $social); $input->set_attribute('onclick', 'hocwp_google_login();'); } else { $facebook_data = get_the_author_meta($social . '_data', $user_id); $avatar = hocwp_get_value_by_key($facebook_data, array('picture', 'data', 'url')); $email = hocwp_get_value_by_key($facebook_data, array('emails', 0, 'value')); if (!empty($avatar)) { $img = new HOCWP_HTML('img'); $img->set_image_alt(''); $img->set_image_src($avatar); } $input->set_attribute('type', 'text'); $input->set_attribute('readonly', 'readonly'); $input->set_attribute('value', $social_id . ' - ' . $email); $input->set_class('regular-text hocwp-disconnect-social ' . $social); $input->set_attribute('data-user-id', $user_id); $input->set_attribute('data-social', $social); } if (empty($social_id) && 'profile.php' == $GLOBALS['pagenow']) { $input->output(); if (empty($social_id)) { hocwp_google_login_script(array('connect' => true)); } } else { if (!empty($social_id)) { $input->output(); } else { _e('You can only connect to social account on profile page.', 'hocwp-theme'); } } ?> </td> </tr> </table> <?php }
function woocommerce_quantity_input($args = array(), $product = null, $echo = true) { global $product; $defaults = array('input_name' => 'quantity', 'input_value' => '1', 'max_value' => apply_filters('woocommerce_quantity_input_max', '', $product), 'min_value' => apply_filters('woocommerce_quantity_input_min', '', $product), 'step' => apply_filters('woocommerce_quantity_input_step', 1, $product), 'style' => apply_filters('woocommerce_quantity_style', 'float:left; margin-right:10px;', $product), 'size' => apply_filters('woocommerce_quantity_input_size', 4, $product), 'label' => apply_filters('woocommerce_quantity_input_label', '', $product)); $args = apply_filters('woocommerce_quantity_input_args', $args, $product); $args = apply_filters('hocwp_wc_quantity_input_args', $args, $product); $args = wp_parse_args($args, $defaults); $quantity_input = apply_filters('hocwp_wc_quantity_input_pre', '', $product, $args); if (empty($quantity_input)) { $input_name = $args['input_name']; $input_value = $args['input_value']; $label = $args['label']; $min = hocwp_get_value_by_key($args, 'min', 1); $max = hocwp_get_value_by_key($args, 'max', 20); $step = hocwp_get_value_by_key($args, 'step', 1); $size = hocwp_get_value_by_key($args, 'size', 4); $input = new HOCWP_HTML('input'); $input->set_attribute('type', 'number'); $input->set_attribute('size', $size); $input->set_class('input-text qty text input-number'); $input->set_attribute('title', __('Qty', 'hocwp-theme')); $input->set_attribute('value', $input_value); $input->set_attribute('name', $input_name); $input->set_attribute('max', $max); $input->set_attribute('min', $min); $input->set_attribute('step', $step); $container_class = 'quantity hocwp-custom-quantity'; if (!empty($label)) { hocwp_add_string_with_space_before($container_class, 'with-label has-label'); } ob_start(); ?> <div class="<?php echo $container_class; ?> "> <?php if (!empty($label)) { $lb = new HOCWP_HTML('label'); $lb->set_text($label); $lb->output(); } ?> <input type="button" class="minus qty-control btn-down number-down" value="-"> <?php $input->output(); ?> <input type="button" class="plus qty-control btn-up number-up" value="+"> </div> <?php $quantity_input = ob_get_clean(); } $quantity_input = apply_filters('hocwp_wc_quantity_input', $quantity_input, $product, $args); if ($echo) { echo $quantity_input; } return $quantity_input; }
function hocwp_field_remove_button($args = array()) { $class = isset($args['class']) ? $args['class'] : ''; hocwp_add_string_with_space_before($class, 'btn button btn-remove'); $button = new HOCWP_HTML('button'); $button->set_class($class); $button->set_text(__('Remove', 'hocwp-theme')); $button->output(); }
function hocwp_the_social_list($args = array()) { $option_socials = hocwp_option_defaults(); $option_socials = $option_socials['social']; $order = hocwp_get_value_by_key($args, 'order', hocwp_get_value_by_key($option_socials, 'order')); $orders = explode(',', $order); $orders = array_map('trim', $orders); $orders = hocwp_sanitize_array($orders); $option_names = $option_socials['option_names']; $options = hocwp_get_option('option_social'); $icons = $option_socials['icons']; $list = (bool) hocwp_get_value_by_key($args, 'list'); if (hocwp_array_has_value($orders)) { if ($list) { echo '<ul class="list-socials list-unstyled list-inline">'; foreach ($orders as $social) { $option_name = hocwp_get_value_by_key($option_names, $social); $item = hocwp_get_value_by_key($options, $option_name); if (!empty($item)) { $icon = '<i class="fa ' . $icons[$social] . '"></i>'; $a = new HOCWP_HTML('a'); $a->set_href($item); $a->set_class('social-item link-' . $social); $a->set_text($icon); $li = new HOCWP_HTML('li'); $li->set_text($a); $li->output(); } } echo '</ul>'; } else { foreach ($orders as $social) { $option_name = hocwp_get_value_by_key($option_names, $social); $item = hocwp_get_value_by_key($options, $option_name); if (!empty($item)) { $icon = '<i class="fa ' . $icons[$social] . '"></i>'; $a = new HOCWP_HTML('a'); $a->set_href($item); $a->set_class('social-item link-' . $social); $a->set_text($icon); $a->output(); } } } } }
function hocwp_theme_translation_comments_list_callback($comment, $args, $depth) { $GLOBALS['comment'] = $comment; $comment_id = $comment->comment_ID; $style = isset($args['style']) ? $args['style'] : 'ol'; $avatar_size = isset($args['avatar_size']) ? absint($args['avatar_size']) : 64; $avatar_size = apply_filters('hocwp_comment_avatar_size', $avatar_size); $max_depth = isset($args['max_depth']) ? absint($args['max_depth']) : ''; $comment_permalink = get_comment_link($comment); if ('div' == $style) { $tag = 'div'; $add_below = 'comment'; } else { $tag = 'li'; $add_below = 'div-comment'; } $comment_date = get_comment_date('Y-m-d H:i:s', $comment_id); $comment_author = '<div class="comment-author vcard">' . get_avatar($comment, $avatar_size) . '<b class="fn">' . get_comment_author_link() . '</b> <span class="says">nói:</span></div>'; $comment_metadata = '<div class="comment-metadata"><a href="' . $comment_permalink . '"><time datetime="' . get_comment_time('c') . '">' . hocwp_human_time_diff_to_now($comment_date) . ' ' . 'trước' . '</time></a> <a class="comment-edit-link" href="' . get_edit_comment_link($comment_id) . '">(' . 'Sửa' . ')</a></div>'; if ($comment->comment_approved == '0') { $comment_metadata .= '<p class="comment-awaiting-moderation">' . 'Bình luận của bạn đang được chờ để xét duyệt.' . '</p>'; } $footer = new HOCWP_HTML('footer'); $footer->set_class('comment-meta'); $footer->set_text($comment_author . $comment_metadata); $comment_text = get_comment_text($comment_id); $comment_text = apply_filters('comment_text', $comment_text, $comment); $comment_content = '<div class="comment-content">' . $comment_text . '</div>'; $reply = '<div class="reply comment-tools">'; $reply .= get_comment_reply_link(array_merge($args, array('add_below' => $add_below, 'depth' => $depth, 'max_depth' => $max_depth))); $comment_tools_enabled = apply_filters('hocwp_comment_tools_enabled', true); if ($comment_tools_enabled) { $class = 'comment-like comment-likes'; $session_comment_liked_key = 'comment_' . $comment_id . '_likes'; $liked = intval(isset($_SESSION[$session_comment_liked_key]) ? $_SESSION[$session_comment_liked_key] : ''); if ($liked == 1) { hocwp_add_string_with_space_before($class, 'disabled'); } $a = new HOCWP_HTML('a'); $a->set_class($class); $a->set_attribute('href', 'javascript:;'); $a->set_attribute('data-session-likes-key', $session_comment_liked_key); $likes = hocwp_get_comment_likes($comment_id); $a->set_attribute('data-likes', $likes); $a->set_text('<span class="text">' . 'Thích' . '</span> <i class="fa fa-thumbs-o-up"></i><span class="sep-dot">.</span> <span class="count">' . $likes . '</span>'); $reply .= $a->build(); $a->set_class('comment-report'); $a->remove_attribute('data-session-liked-key'); $a->set_text('Báo cáo vi phạm' . '<i class="fa fa-flag"></i>'); $reply .= $a->build(); $a->set_class('comment-share'); $share_text = '<span class="text">' . 'Chia sẻ' . '<i class="fa fa-angle-down"></i></span>'; $share_text .= '<span class="list-share">'; $share_text .= '<i class="fa fa-facebook facebook" data-url="' . hocwp_get_social_share_url(array('social_name' => 'facebook', 'permalink' => $comment_permalink)) . '"></i>'; $share_text .= '<i class="fa fa-google-plus google" data-url="' . hocwp_get_social_share_url(array('social_name' => 'googleplus', 'permalink' => $comment_permalink)) . '"></i>'; $share_text .= '<i class="fa fa-twitter twitter" data-url="' . hocwp_get_social_share_url(array('social_name' => 'twitter', 'permalink' => $comment_permalink)) . '"></i>'; $share_text .= '</span>'; $a->set_text($share_text); $reply .= $a->build(); } $reply .= '</div>'; $article = new HOCWP_HTML('article'); $article->set_attribute('id', 'div-comment-' . $comment_id); $article->set_class('comment-body'); $article_text = $footer->build(); $article_text .= $comment_content; $article_text .= $reply; $article->set_text($article_text); $html = new HOCWP_HTML($tag); $comment_class = get_comment_class(empty($args['has_children']) ? '' : 'parent'); $comment_class = implode(' ', $comment_class); $html_atts = array('class' => $comment_class, 'id' => 'comment-' . $comment_id, 'data-comment-id' => $comment_id); $html->set_attribute_array($html_atts); $html->set_text($article->build()); $html->set_close(false); $html->output(); }
public function widget($args, $instance) { $this->instance = $instance; $page_name = isset($instance['page_name']) ? $instance['page_name'] : ''; $href = isset($instance['href']) ? $instance['href'] : ''; $width = isset($instance['width']) ? $instance['width'] : $this->args['width']; $height = isset($instance['height']) ? $instance['height'] : $this->args['height']; $hide_cover = (bool) (isset($instance['hide_cover']) ? $instance['hide_cover'] : $this->args['hide_cover']); $show_facepile = (bool) (isset($instance['show_facepile']) ? $instance['show_facepile'] : $this->args['show_facepile']); $hide_cta = (bool) (isset($instance['hide_cta']) ? $instance['hide_cta'] : $this->args['hide_cta']); $small_header = (bool) (isset($instance['small_header']) ? $instance['small_header'] : $this->args['small_header']); $adapt_container_width = (bool) (isset($instance['adapt_container_width']) ? $instance['adapt_container_width'] : $this->args['adapt_container_width']); $fixed = hocwp_get_value_by_key($instance, 'fixed', $this->args['fixed']); $only_link = hocwp_get_value_by_key($instance, 'only_link', $this->args['only_link']); $button_text = hocwp_get_value_by_key($instance, 'button_text', $this->args['button_text']); $before_widget = hocwp_get_value_by_key($args, 'before_widget'); $widget_class = ''; if ($fixed) { hocwp_add_string_with_space_before($widget_class, 'fixed'); $position = hocwp_get_value_by_key($instance, 'position', $this->args['position']); hocwp_add_string_with_space_before($widget_class, hocwp_sanitize_html_class($position)); } $before_widget = hocwp_add_class_to_string('', $before_widget, $widget_class); $args['before_widget'] = $before_widget; $img = new HOCWP_HTML('img'); $img->set_image_src(hocwp_get_image_url('icon-facebook-messenger-white-64.png')); $img->set_class('icon-messenger'); hocwp_widget_before($args, $instance); if ($only_link) { if (!hocwp_is_url($href)) { $href = 'https://m.me/' . $href; } $span = new HOCWP_HTML('span'); $span->set_text($button_text); $link_text = $img->build(); $link_text .= $span->build(); $a = new HOCWP_HTML('a'); $a->add_class('button btn btn-facebook-messenger'); $a->set_text($link_text); $a->set_href($href); $widget_html = $a->build(); } else { $app_id = hocwp_get_wpseo_social_facebook_app_id(); if (empty($app_id)) { hocwp_debug_log(__('Please set your Facebook APP ID first.', 'hocwp-theme')); return; } add_filter('hocwp_use_facebook_javascript_sdk', '__return_true'); ?> <script type="text/javascript"> window.fbAsyncInit = function () { FB.init({ appId: '<?php echo $app_id; ?> ', cookie: true, xfbml: true, version: 'v<?php echo HOCWP_FACEBOOK_JAVASCRIPT_SDK_VERSION; ?> ' }); }; </script> <?php $fanpage_args = array('page_name' => $page_name, 'href' => $href, 'width' => $width, 'height' => $height, 'tabs' => 'messages', 'hide_cover' => $hide_cover, 'show_facepile' => $show_facepile, 'hide_cta' => $hide_cta, 'small_header' => $small_header, 'adapt_container_width' => $adapt_container_width); ob_start(); if ($fixed) { $fanpage_args['width'] = 300; ?> <div class="messenger-box module"> <div class="module-header heading btn-facebook-messenger" title="<?php echo $button_text; ?> "> <?php $img->output(); ?> <label><?php echo $button_text; ?> </label> <?php if ('left' == $position || 'right' == $position) { echo '<i class="fa fa-times" aria-hidden="true"></i>'; $span = new HOCWP_HTML('span'); $span->add_class('facebook-messenger-box-control'); $span->set_text($img); $span->output(); } else { echo '<i class="fa fa-angle-up" aria-hidden="true"></i>'; } ?> </div> <div class="module-body"> <?php hocwp_facebook_page_plugin($fanpage_args); ?> </div> </div> <?php } else { hocwp_facebook_page_plugin($fanpage_args); } $widget_html = ob_get_clean(); } $widget_html = apply_filters('hocwp_widget_facebook_messenger_html', $widget_html, $args, $instance, $this); echo $widget_html; hocwp_widget_after($args, $instance); }
function hocwp_term_get_thumbnail_html($args = array()) { $thumb_url = hocwp_term_get_thumbnail_url($args); $result = ''; $term = hocwp_get_value_by_key($args, 'term'); if (!empty($thumb_url)) { $taxonomy = hocwp_get_value_by_key($args, 'taxonomy'); if (!is_a($term, 'WP_Term')) { $term_id = hocwp_get_value_by_key($args, 'term_id'); if (hocwp_id_number_valid($term_id) && !empty($taxonomy)) { $term = get_term($term_id, $taxonomy); } } if (is_a($term, 'WP_Term')) { $taxonomy = $term->taxonomy; $size = hocwp_sanitize_size($args); $link = hocwp_get_value_by_key($args, 'link', true); $show_name = hocwp_get_value_by_key($args, 'show_name'); $img = new HOCWP_HTML('img'); $img->set_image_src($thumb_url); if ($size[0] > 0) { $img->set_attribute('width', $size[0]); } if ($size[1] > 0) { $img->set_attribute('height', $size[1]); } $class = 'img-responsive wp-term-image'; $slug = $term->taxonomy; hocwp_add_string_with_space_before($class, hocwp_sanitize_html_class($slug) . '-thumb'); $img->set_class($class); $link_text = $img->build(); if ((bool) $show_name) { $link_text .= '<span class="term-name">' . $term->name . '</span>'; } $a = new HOCWP_HTML('a'); $a->set_class('term-link ' . hocwp_sanitize_html_class($taxonomy)); $a->set_text($link_text); $a->set_attribute('title', $term->name); $a->set_href(get_term_link($term)); if (!(bool) $link) { $result = $img->build(); } else { $result = $a->build(); } } } return apply_filters('hocwp_term_thumbnail_html', $result, $term); }