function lgItemGalleryTemp($atts) { $output = ''; $images = explode(',', $atts['images']); // $grid = lgGetLayoutLemonGridPerPage( get_the_ID(), $atts['element_id'], count( $images ) ); $grid = lbGetLemonGridLayouts($atts['element_id'], count($images)); /* v1.1 */ foreach ($images as $k => $image_id) { $data_img = wp_get_attachment_image_src($image_id, 'full'); $style = implode(';', array("background: url({$data_img[0]}) no-repeat center center / cover, #333")); $info = ' <div class=\'lemongrid-info\'> <div class=\'lemongrid-icon\'> <a href=\'' . $data_img[0] . '\' data-imagelightbox=\'' . $atts['element_id'] . '\'><i class=\'fa fa-expand\'></i></a> </div> </div>'; $output .= ' <div class=\'lemongrid-item lg-animate-fadein grid-stack-item\' data-gs-x=\'' . esc_attr($grid[$k]['x']) . '\' data-gs-y=\'' . esc_attr($grid[$k]['y']) . '\' data-gs-width=\'' . esc_attr($grid[$k]['w']) . '\' data-gs-height=\'' . esc_attr($grid[$k]['h']) . '\'> <div class=\'grid-stack-item-content\' style=\'' . esc_attr($style) . '\'> ' . $info . ' </div> </div>'; } return $output; }
function lgItemPostTemp($atts) { $output = ''; // $grid = lgGetLayoutLemonGridPerPage( get_the_ID(), $atts['element_id'], count( $atts['posts']->posts ) ); $grid = lbGetLemonGridLayouts($atts['element_id'], count($atts['posts']->posts)); /* v1.1 */ $posts = $atts['posts']; $k = 0; while ($posts->have_posts()) { $posts->the_post(); if (has_post_thumbnail()) { $thumbnail_data = wp_get_attachment_image_src(get_post_thumbnail_id(get_the_ID()), 'full'); $thumbnail = $thumbnail_data[0]; } else { $thumbnail = ''; } $style = implode(';', array("background: url({$thumbnail}) no-repeat center center / cover, #333")); /** * Title */ $_title = '<h2 class=\'title\' title=\'' . get_the_title() . '\'>' . get_the_title() . '</h2>'; /** * Data */ $_date = '<p class=\'date\'>' . get_the_date('M d Y') . '</p>'; /** * Icon Comment & Author */ $comments_count = wp_count_comments(get_the_ID()); $_comment_author = ' <div class=\'comment-author\'> <span class=\'comment\'><i class=\'ion-android-chat\'></i> ' . $comments_count->total_comments . '</span> <span class=\'author\'><i class=\'ion-person\'></i> ' . get_the_author() . '</span> </div>'; $info = ' <div class=\'lemongrid-info\'> <div class=\'lemongrid-icon\'> <a title=\'' . get_the_title() . '\' href=\'' . get_permalink() . '\'><i class=\'fa fa-link\'></i></a> </div> <div class=\'info-text\'> ' . $_title . ' ' . $_date . ' ' . $_comment_author . ' </div> </div>'; $output .= ' <div class=\'lemongrid-item lg-animate-fadein grid-stack-item\' data-gs-x=\'' . esc_attr($grid[$k]['x']) . '\' data-gs-y=\'' . esc_attr($grid[$k]['y']) . '\' data-gs-width=\'' . esc_attr($grid[$k]['w']) . '\' data-gs-height=\'' . esc_attr($grid[$k]['h']) . '\'> <div class=\'grid-stack-item-content\' style=\'' . esc_attr($style) . '\'> ' . $info . ' </div> </div>'; $k += 1; } wp_reset_postdata(); return $output; }
function lgShortcodeGridTemplate($settings, $value) { $gridLayouts = lbGetLemonGridLayouts(); $output = ''; $output .= "<select name=\"" . esc_attr($settings['param_name']) . "\" class=\"wpb_vc_param_value\">"; foreach ($gridLayouts as $gridName => $gridMap) { $selected = $gridName == esc_attr($value) ? 'selected' : ''; $output .= "<option value=\"{$gridName}\" {$selected}>{$gridName}</option>"; } $output .= "</select>"; $output .= sprintf('<small><i>%s %s <a href=\'#\' target=\'_blank\'>%s</a></i></small>', __(count($gridLayouts) <= 0 ? 'not available grid template,' : '', TB_NAME), __('if you don\'t know create grid template, please watch', TB_NAME), __('tutorial.', TB_NAME)); return $output; }
function lgItemWidgetSocialTemp($atts) { $output = ''; $grid = lbGetLemonGridLayouts($atts['element_id'], count($atts['media'])); /* v1.1 */ foreach ($atts['media'] as $k => $data) { $style = implode(';', array("background: url({$data['photo']}) no-repeat center center / cover, #333")); $output .= ' <div class=\'lemongrid-item lg-animate-fadein grid-stack-item\' data-gs-x=\'' . esc_attr($grid[$k]['x']) . '\' data-gs-y=\'' . esc_attr($grid[$k]['y']) . '\' data-gs-width=\'' . esc_attr($grid[$k]['w']) . '\' data-gs-height=\'' . esc_attr($grid[$k]['h']) . '\'> <div class=\'grid-stack-item-content\' style=\'' . esc_attr($style) . '\'> <a class="lg-touch-open-lightbox" href=\'' . $data['photo'] . '\' data-imagelightbox=\'' . $atts['element_id'] . '\'></a> </div> </div>'; } return $output; }
function lgItemWidgetGalleryTemp($atts) { $output = ''; $images = explode(',', $atts['media_ids']); $grid = lbGetLemonGridLayouts($atts['element_id'], count($images)); /* v1.1 */ foreach ($images as $k => $image_id) { $data_img = wp_get_attachment_image_src($image_id, 'full'); $style = implode(';', array("background: url({$data_img[0]}) no-repeat center center / cover, #333")); $output .= ' <div class=\'lemongrid-item lg-animate-fadein grid-stack-item\' data-gs-x=\'' . esc_attr($grid[$k]['x']) . '\' data-gs-y=\'' . esc_attr($grid[$k]['y']) . '\' data-gs-width=\'' . esc_attr($grid[$k]['w']) . '\' data-gs-height=\'' . esc_attr($grid[$k]['h']) . '\'> <div class=\'grid-stack-item-content\' style=\'' . esc_attr($style) . '\'> <a class="lg-touch-open-lightbox" href=\'' . $data_img[0] . '\' data-imagelightbox=\'' . $atts['element_id'] . '\'></a> </div> </div>'; } return $output; }
function lgItemSocialTemp($atts) { $output = ''; $element_id = $atts['element_id']; $social = $atts['social']; // $grid = lgGetLayoutLemonGridPerPage( get_the_ID(), $element_id, count( $atts['media'] ) ); $grid = lbGetLemonGridLayouts($atts['element_id'], count($atts['media'])); /* v1.1 */ foreach ($atts['media'] as $k => $data) { $style = implode(';', array("background: url({$data['photo']}) no-repeat center center / cover, #333")); $info = ''; switch ($social) { case 'flickr': /* title */ $description = isset($data['title']) && !empty($data['title']) ? '<div class=\'lemongrid-description\'><p>' . esc_attr(wp_trim_words($data['title'], 7, $more = '...')) . '</p></div>' : ''; /* Detail modal */ $data['detail_modal'] = ' <div class=\'modal-detail-info ' . $social . '\'> <div class=\'title lg-animate-fadein\'><h4>' . $data['title'] . '</h4></div> <div class=\'description lg-animate-fadein\'><i class=\'fa fa-circle-o-notch fa-spin\'></i></div> <p class=\'author lg-animate-fadein\'>- ' . $data['username'] . '</p> <div class=\'icon-wrap lg-animate-fadein\'> <i class=\'fa fa-circle-o-notch fa-spin\'></i> </div> </div>'; $info .= ' <div class=\'lemongrid-info\'> <div class=\'lemongrid-icon\'> <a href=\'#\' data-flickr=\'' . json_encode(str_replace("'", ''', $data)) . '\' class=\'lemongrid-icon-picture\'><i class=\'fa fa-picture-o\'></i></a> <a href=\'' . $data['link'] . '\' target=\'_blank\' class=\'lemongrid-icon-link\'><i class=\'fa fa-link\'></i></a> </div> ' . $description . ' </div>'; break; default: /* instagram */ /* description */ $description = isset($data['description']) && !empty($data['description']) ? '<div class=\'lemongrid-description\'><p>' . esc_attr(wp_trim_words($data['description'], 7, $more = '...')) . '</p></div>' : ''; /* Detail modal */ $data['detail_modal'] = ' <div class=\'modal-detail-info ' . $social . '\'> <div class=\'description lg-animate-fadein\'>' . $data['description'] . '</div> <p class=\'author lg-animate-fadein\'>- ' . $data['full_name'] . '</p> <div class=\'icon-wrap\'> <span class=\'icon-likes lg-animate-fadein\'><i class=\'ion-android-favorite\'></i> ' . $data['likes'] . '</span> <span class=\'icon-comments lg-animate-fadein\'><i class=\'ion-android-textsms\'></i> ' . $data['comments'] . '</span> <span class=\'icon-time lg-animate-fadein\'><i class=\'ion-ios-clock\'></i> ' . $data['time'] . '</span> </div> </div>'; $icon_class = 'video' == $data['type'] ? 'fa-play' : 'fa-picture-o'; $info .= ' <div class=\'lemongrid-info\'> <div class=\'lemongrid-icon\'> <a href=\'#\' data-instagram=\'' . json_encode(str_replace("'", ''', $data)) . '\' class=\'lemongrid-icon-picture\'><i class=\'fa ' . $icon_class . '\'></i></a> <a href=\'' . $data['link'] . '\' target=\'_blank\' class=\'lemongrid-icon-link\'><i class=\'fa fa-link\'></i></a> </div> ' . $description . ' </div>'; break; } $output .= ' <div class=\'lemongrid-item lg-animate-fadein grid-stack-item\' data-gs-x=\'' . esc_attr($grid[$k]['x']) . '\' data-gs-y=\'' . esc_attr($grid[$k]['y']) . '\' data-gs-width=\'' . esc_attr($grid[$k]['w']) . '\' data-gs-height=\'' . esc_attr($grid[$k]['h']) . '\'> <div class=\'grid-stack-item-content\' style=\'' . esc_attr($style) . '\'> ' . $info . ' </div> </div>'; } return $output; }
/** * lgApplyLemonGrid */ function lgApplyLemonGrid() { $layout_arr = lbGetLemonGridLayouts(); $layout_arr[$_POST['name']] = $_POST['gridMap']; update_option('lemongrid_grid_layouts', json_encode($layout_arr)); exit; }
function lgItemPostTemp2($atts) { $output = ''; // $grid = lgGetLayoutLemonGridPerPage( get_the_ID(), $atts['element_id'], count( $atts['posts']->posts ) ); $grid = lbGetLemonGridLayouts($atts['element_id'], count($atts['posts']->posts)); /* v1.1 */ $posts = $atts['posts']; $k = 0; while ($posts->have_posts()) { $posts->the_post(); if (has_post_thumbnail()) { $thumbnail_data = wp_get_attachment_image_src(get_post_thumbnail_id(get_the_ID()), 'full'); $thumbnail = $thumbnail_data[0]; } else { $thumbnail = ''; } $style = implode(';', array("background: url({$thumbnail}) no-repeat center center / cover, #333")); /** * title, cat */ $_title = sprintf('<a href="%s"><h2 class=\'title\' title=\'%s\'>%s</h2></a>', get_permalink(), get_the_title(), get_the_title()); $_cat = get_the_category_list(', '); $_title_cat = sprintf(' %s %s', '<i class="fa fa-thumb-tack cat-icon"></i>' . $_cat, $_title); /** * author, date */ $_author_date = sprintf(' <span class=\'author\'>%s</span>, <span class=\'date\'>%s</span>', get_the_author(), get_the_date('M d Y')); /** * Icon */ $_icon = ''; switch ($atts['template_params']['style']) { case 'linestyle': /* Zoom thumb */ $_icon .= sprintf(' <a title=\'%s\' href=\'%s\' data-imagelightbox=\'%s\'> <i class=\'fa fa-picture-o\'></i> </a>', __('view thumb', TB_NAME), $thumbnail, $atts['element_id']); break; default: /* Link */ $_icon .= sprintf(' <a title=\'%s\' href=\'%s\'> <i class=\'fa fa-file-text-o\'></i> </a>', get_the_title(), get_permalink()); /* Zoom thumb */ $_icon .= sprintf(' <a title=\'%s\' href=\'%s\' data-imagelightbox=\'%s\'> <i class=\'fa fa-picture-o\'></i> </a>', __('view thumb', TB_NAME), $thumbnail, $atts['element_id']); break; } $info = ' <div class=\'lemongrid-info\'> <div class=\'info-text-top\'> ' . $_title_cat . ' </div> <div class=\'info-text-bottom\'> ' . $_author_date . ' </div> <div class=\'lemongrid-icon ' . $atts['template_params']['style'] . '\'> ' . $_icon . ' </div> </div>'; $output .= ' <div class=\'lemongrid-item lg-animate-fadein grid-stack-item\' data-gs-x=\'' . esc_attr($grid[$k]['x']) . '\' data-gs-y=\'' . esc_attr($grid[$k]['y']) . '\' data-gs-width=\'' . esc_attr($grid[$k]['w']) . '\' data-gs-height=\'' . esc_attr($grid[$k]['h']) . '\'> <div class=\'grid-stack-item-content\' style=\'' . esc_attr($style) . '\'> ' . $info . ' </div> </div>'; $k += 1; } wp_reset_postdata(); return $output; }