Current Path : /home/ncdcgo/public_html/wp-content/plugins/post-grid/includes/ |
Current File : /home/ncdcgo/public_html/wp-content/plugins/post-grid/includes/functions.php |
<?php if (!defined('ABSPATH')) exit; // if direct access // add_shortcode('blockData', 'blockData'); // function blockData() // { // $build_dir = post_grid_plugin_dir . 'build/blocks'; // foreach (scandir($build_dir) as $result) { // $block_location = $build_dir . '/' . $result; // if (!is_dir($block_location) || '.' === $result || '..' === $result) { // continue; // } // $blockJson = $block_location . '/block.json'; // $json = file_get_contents($blockJson); // $jsonObj = json_decode($json); // //echo $jsonObj->name; // echo "registerBlockType('$jsonObj->name', { title: '$jsonObj->title', description: '$jsonObj->description' }); // "; // echo '<br>'; // } // } //add_image_size( 'custom-size', 435, 435, true ); //add_image_size( 'center-435', 220, 220, array( 'center', 'center' ) ); function eventQuery() { $meta_query = array( 'relation' => 'OR', array( 'key' => 'event_date', 'value' => 20220623, 'compare' => '<', 'type' => 'DATE', ) ); $args = array( 'post_type' => 'post', 'meta_query' => $meta_query, ); $query = new WP_Query($args); $html = ob_start(); while ($query->have_posts()) : $query->the_post(); $post_id = get_the_ID(); $title = get_the_title($post_id); echo $title; echo '<br/>'; endwhile; return ob_get_clean(); } add_shortcode('eventQuery', 'eventQuery'); function post_grid_get_first_post($post_type = 'post') { $args = array( 'post_type' => $post_type, 'post_status' => 'publish', 'posts_per_page' => 1, ); $post_id = ''; $wp_query = new WP_Query($args); if ($wp_query->have_posts()) : while ($wp_query->have_posts()) : $wp_query->the_post(); $product_id = get_the_id(); return $product_id; endwhile; endif; } function post_grid_recursive_sanitize_arr($array) { foreach ($array as $key => &$value) { if (is_array($value)) { $value = post_grid_recursive_sanitize_arr($value); } else { if ($key == 'url') { $value = wp_kses_post($value); } else { $value = wp_kses_post($value); } } } return $array; } function post_grid_add_shortcode_column($columns) { return array_merge( $columns, array('shortcode' => __('Shortcode', 'post-grid')) ); } add_filter('manage_post_grid_posts_columns', 'post_grid_add_shortcode_column'); function post_grid_posts_shortcode_display($column, $post_id) { if ($column == 'shortcode') { ?> <input style="background:#bfefff" type="text" onClick="this.select();" value="[post_grid <?php echo 'id="' . esc_attr($post_id) . '"'; ?>]" /><br /> <textarea cols="50" rows="1" style="background:#bfefff" onClick="this.select();"><?php echo '<?php echo do_shortcode("[post_grid id='; echo "'" . esc_attr($post_id) . "']"; echo '"); ?>'; ?></textarea> <?php } } add_action('manage_post_grid_posts_custom_column', 'post_grid_posts_shortcode_display', 10, 2); function post_grid_get_media($item_post_id, $media_source, $featured_img_size, $thumb_linked) { $item_post_permalink = apply_filters('post_grid_item_post_permalink', get_permalink($item_post_id)); $post_grid_post_settings = get_post_meta($item_post_id, 'post_grid_post_settings'); $item_thumb_placeholder = apply_filters('post_grid_item_thumb_placeholder', post_grid_plugin_url . 'assets/images/placeholder.png'); $custom_thumb_source = isset($post_grid_post_settings[0]['custom_thumb_source']) ? $post_grid_post_settings[0]['custom_thumb_source'] : $item_thumb_placeholder; $thumb_custom_url = isset($post_grid_post_settings[0]['thumb_custom_url']) ? $post_grid_post_settings[0]['thumb_custom_url'] : ''; $font_awesome_icon = isset($post_grid_post_settings[0]['font_awesome_icon']) ? $post_grid_post_settings[0]['font_awesome_icon'] : ''; $font_awesome_icon_color = isset($post_grid_post_settings[0]['font_awesome_icon_color']) ? $post_grid_post_settings[0]['font_awesome_icon_color'] : '#737272'; $font_awesome_icon_size = isset($post_grid_post_settings[0]['font_awesome_icon_size']) ? $post_grid_post_settings[0]['font_awesome_icon_size'] : '50px'; $custom_youtube_id = isset($post_grid_post_settings[0]['custom_youtube_id']) ? $post_grid_post_settings[0]['custom_youtube_id'] : ''; $custom_vimeo_id = isset($post_grid_post_settings[0]['custom_vimeo_id']) ? $post_grid_post_settings[0]['custom_vimeo_id'] : ''; $custom_dailymotion_id = isset($post_grid_post_settings[0]['custom_dailymotion_id']) ? $post_grid_post_settings[0]['custom_dailymotion_id'] : ''; $custom_mp3_url = isset($post_grid_post_settings[0]['custom_mp3_url']) ? $post_grid_post_settings[0]['custom_mp3_url'] : ''; $custom_soundcloud_id = isset($post_grid_post_settings[0]['custom_soundcloud_id']) ? $post_grid_post_settings[0]['custom_soundcloud_id'] : ''; $html_thumb = ''; if ($media_source == 'featured_image') { $thumb = wp_get_attachment_image_src(get_post_thumbnail_id($item_post_id), $featured_img_size); $alt_text = get_post_meta(get_post_thumbnail_id($item_post_id), '_wp_attachment_image_alt', true); $thumb_url = isset($thumb['0']) ? $thumb['0'] : ''; if (!empty($thumb_url)) { if ($thumb_linked == 'yes') { if (!empty($thumb_custom_url)) { $html_thumb .= '<a href="' . esc_url_raw($thumb_custom_url) . '"><img alt="' . $alt_text . '" src="' . esc_url_raw(esc_url_raw($thumb_url)) . '" /></a>'; } else { $html_thumb .= '<a href="' . esc_url_raw($item_post_permalink) . '"><img alt="' . $alt_text . '" src="' . esc_url_raw($thumb_url) . '" /></a>'; } } else { $html_thumb .= '<img alt="' . $alt_text . '" src="' . esc_url_raw($thumb_url) . '" />'; } } else { $html_thumb .= ''; } } elseif ($media_source == 'empty_thumb') { if ($thumb_linked == 'yes') { $html_thumb .= '<a class="custom" href="' . esc_url_raw($item_post_permalink) . '"><img src="' . post_grid_plugin_url . 'assets/images/placeholder.png" /></a>'; } else { $html_thumb .= '<img class="custom" src="' . post_grid_plugin_url . 'assets/images/placeholder.png" />'; } } elseif ($media_source == 'custom_thumb') { if (!empty($custom_thumb_source)) { if ($thumb_linked == 'yes') { $html_thumb .= '<a href="' . esc_url_raw($item_post_permalink) . '"><img src="' . esc_url_raw($custom_thumb_source) . '" /></a>'; } else { $html_thumb .= '<img src="' . esc_url_raw($custom_thumb_source) . '" />'; } } } elseif ($media_source == 'font_awesome') { if (!empty($custom_thumb_source)) { if ($thumb_linked == 'yes') { $html_thumb .= '<a href="' . esc_url_raw($item_post_permalink) . '"><i style="color:' . $font_awesome_icon_color . ';font-size:' . $font_awesome_icon_size . '" class="fa ' . $font_awesome_icon . '"></i></a>'; } else { $html_thumb .= '<i style="color:' . $font_awesome_icon_color . ';font-size:' . $font_awesome_icon_size . '" class="fa ' . $font_awesome_icon . '"></i>'; } } } elseif ($media_source == 'first_image') { //global $post, $posts; $post = get_post($item_post_id); // $post_content = $post->post_content; $post_content = isset($post->post_content) ? ($post->post_content) : ''; $first_img = ''; ob_start(); ob_end_clean(); $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post_content, $matches); if (!empty($matches[1][0])) $first_img = isset($matches[1][0]) ? $matches[1][0] : ''; if (empty($first_img)) { $html_thumb .= ''; } else { if ($thumb_linked == 'yes') { $html_thumb .= '<a href="' . esc_url_raw($item_post_permalink) . '"><img src="' . esc_url_raw($first_img) . '" /></a>'; } else { $html_thumb .= '<img src="' . esc_url_raw($first_img) . '" />'; } } } elseif ($media_source == 'first_gallery') { $gallery = get_post_gallery($item_post_id, false); if (!empty($gallery)) { $html_thumb .= '<div class="gallery owl-carousel">'; if (!empty($gallery['ids'])) { $ids = $gallery['ids']; $ids = explode(',', $ids); } else { $ids = array(); } foreach ($ids as $id) { $src = wp_get_attachment_url($id); $alt_text = get_post_meta($id, '_wp_attachment_image_alt', true); $html_thumb .= '<img src="' . esc_url_raw($src) . '" class="gallery-item" alt="' . $alt_text . '" />'; } $html_thumb .= '</div>'; } } elseif ($media_source == 'first_youtube') { $post = get_post($item_post_id); //$post_type = $post->post_type; $post_type = isset($post->post_type) ? $post->post_type : ''; if ($post_type == 'page') { $content = ''; $html_thumb .= ''; } else { //$content = do_shortcode($post->post_content); $content = isset($post->post_content) ? do_shortcode($post->post_content) : ''; } $content = apply_filters('the_content', $content); $embeds = get_media_embedded_in_content($content); foreach ($embeds as $key => $embed) { if (strchr($embed, 'youtube')) { $embed_youtube = $embed; } } if (!empty($embed_youtube)) { $html_thumb .= $embed_youtube; } else { $html_thumb .= ''; } } elseif ($media_source == 'first_vimeo') { $post = get_post($item_post_id); //$post_type = $post->post_type; $post_type = isset($post->post_type) ? $post->post_type : ''; if ($post_type == 'page') { $content = ''; $html_thumb .= ''; } else { //$content = do_shortcode($post->post_content); $content = isset($post->post_content) ? do_shortcode($post->post_content) : ''; } $embeds = get_media_embedded_in_content($content); foreach ($embeds as $key => $embed) { if (strchr($embed, 'vimeo')) { $embed_youtube = $embed; } } if (!empty($embed_youtube)) { $html_thumb .= $embed_youtube; } else { $html_thumb .= ''; } } elseif ($media_source == 'first_dailymotion') { $post = get_post($item_post_id); $post_type = isset($post->post_type) ? $post->post_type : ''; if ($post_type == 'page') { $content = ''; $html_thumb .= ''; } else { $content = isset($post->post_content) ? do_shortcode($post->post_content) : ''; } $content = apply_filters('the_content', $content); $embeds = get_media_embedded_in_content($content); foreach ($embeds as $key => $embed) { if (strchr($embed, 'dailymotion')) { $embed_youtube = $embed; } } if (!empty($embed_youtube)) { $html_thumb .= $embed_youtube; } else { $html_thumb .= ''; } } elseif ($media_source == 'first_mp3') { $post = get_post($item_post_id); $post_type = isset($post->post_type) ? $post->post_type : ''; if ($post_type == 'page') { $content = ''; $html_thumb .= ''; } else { $content = isset($post->post_content) ? do_shortcode($post->post_content) : ''; } $content = apply_filters('the_content', $content); $embeds = get_media_embedded_in_content($content); foreach ($embeds as $key => $embed) { if (strchr($embed, 'mp3')) { $embed_youtube = $embed; } } if (!empty($embed_youtube)) { $html_thumb .= $embed_youtube; } else { $html_thumb .= ''; } } elseif ($media_source == 'first_soundcloud') { $post = get_post($item_post_id); //$post_type = $post->post_type; $post_type = isset($post->post_type) ? $post->post_type : ''; if ($post_type == 'page') { $content = ''; $html_thumb .= ''; } else { // $content = do_shortcode($post->post_content); $content = isset($post->post_content) ? do_shortcode($post->post_content) : ''; } $content = apply_filters('the_content', $content); $embeds = get_media_embedded_in_content($content); foreach ($embeds as $key => $embed) { if (strchr($embed, 'soundcloud')) { $embed_youtube = $embed; } } if (!empty($embed_youtube)) { $html_thumb .= $embed_youtube; } else { $html_thumb .= ''; } } elseif ($media_source == 'custom_youtube') { if (!empty($custom_youtube_id)) { $html_thumb .= '<iframe frameborder="0" allowfullscreen="" src="http://www.youtube.com/embed/' . $custom_youtube_id . '?feature=oembed"></iframe>'; } } elseif ($media_source == 'custom_vimeo') { if (!empty($custom_vimeo_id)) { $html_thumb .= '<iframe frameborder="0" allowfullscreen="" mozallowfullscreen="" webkitallowfullscreen="" src="https://player.vimeo.com/video/' . $custom_vimeo_id . '"></iframe>'; } } elseif ($media_source == 'custom_dailymotion') { if (!empty($custom_dailymotion_id)) { $html_thumb .= '<iframe frameborder="0" allowfullscreen="" mozallowfullscreen="" webkitallowfullscreen="" src="//www.dailymotion.com/embed/video/' . $custom_dailymotion_id . '"></iframe>'; } } elseif ($media_source == 'custom_mp3') { if (!empty($custom_mp3_url)) { $html_thumb .= do_shortcode('[audio src="' . esc_url_raw($custom_mp3_url) . '"]'); } } elseif ($media_source == 'custom_video') { $video_html = ''; if (!empty($post_grid_post_settings[0]['custom_video_MP4'])) : $video_html .= 'mp4="' . $post_grid_post_settings[0]['custom_video_MP4'] . '"'; elseif (!empty($post_grid_post_settings[0]['custom_video_WEBM'])) : $video_html .= 'webm="' . $post_grid_post_settings[0]['custom_video_WEBM'] . '"'; elseif (!empty($post_grid_post_settings[0]['custom_video_OGV'])) : $video_html .= 'ogv="' . $post_grid_post_settings[0]['custom_video_OGV'] . '"'; endif; $html_thumb .= do_shortcode('[video ' . $video_html . '][/video]'); } elseif ($media_source == 'custom_soundcloud') { if (!empty($custom_soundcloud_id)) { $html_thumb .= '<iframe width="100%" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/' . $custom_soundcloud_id . '&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&visual=true"></iframe>'; } } return $html_thumb; } function post_grid_media($post_id, $args) { $source_id = $args['source_id']; $source_args = $args['source_args']; $post_settings = $args['post_settings']; $thumb_linked = ''; $item_post_permalink = apply_filters('post_grid_item_post_permalink', get_permalink($post_id)); $html_thumb = ''; ob_start(); if ($source_id == 'featured_image') { $image_size = isset($source_args['image_size']) ? $source_args['image_size'] : 'large'; $link_to = isset($source_args['link_to']) ? $source_args['link_to'] : 'post_link'; $link_target = isset($source_args['link_target']) ? $source_args['link_target'] : ''; $thumb_custom_url = isset($post_settings['thumb_custom_url']) ? $post_settings['thumb_custom_url'] : ''; $post_thumbnail = get_the_post_thumbnail($post_id, $image_size); if (!empty($post_thumbnail)) { if ($link_to == 'post_link') { if (!empty($thumb_custom_url)) { $html_thumb .= '<a target="' . esc_attr($link_target) . '" href="' . esc_url($thumb_custom_url) . '">' . ($post_thumbnail) . '</a>'; } else { $html_thumb .= '<a target="' . esc_attr($link_target) . '" href="' . esc_url($item_post_permalink) . '">' . ($post_thumbnail) . '</a>'; } } else { $html_thumb .= $post_thumbnail; } } else { $html_thumb .= ''; } } elseif ($source_id == 'empty_thumb') { $link_to = isset($source_args['link_to']) ? $source_args['link_to'] : 'post_link'; $link_target = isset($source_args['link_target']) ? $source_args['link_target'] : ''; $default_thumb_src = isset($source_args['default_thumb_src']) ? $source_args['default_thumb_src'] : post_grid_plugin_url . 'assets/images/placeholder.png'; if ($link_to == 'post_link') { $html_thumb .= '<a target="' . esc_attr($link_target) . '" class="custom" href="' . esc_url($item_post_permalink) . '"><img src="' . esc_url($default_thumb_src) . '" /></a>'; } else { $html_thumb .= '<img class="custom" src="' . esc_url($default_thumb_src) . '" />'; } } elseif ($source_id == 'first_image') { $link_to = isset($source_args['link_to']) ? $source_args['link_to'] : 'post_link'; $link_target = isset($source_args['link_target']) ? $source_args['link_target'] : ''; //global $post, $posts; $post = get_post($post_id); //$post_content = $post->post_content; $post_content = isset($post->post_content) ? ($post->post_content) : ''; $first_img = ''; ob_start(); ob_end_clean(); $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post_content, $matches); if (!empty($matches[1][0])) $first_img = isset($matches[1][0]) ? $matches[1][0] : ''; if (empty($first_img)) { $html_thumb .= ''; } else { if ($link_to == 'post_link') { $html_thumb .= '<a target="' . esc_attr($link_target) . '" href="' . esc_url($item_post_permalink) . '"><img src="' . esc_url($first_img) . '" /></a>'; } else { $html_thumb .= '<img src="' . esc_url($first_img) . '" />'; } } } elseif ($source_id == 'siteorigin_first_image') { $link_to = isset($source_args['link_to']) ? $source_args['link_to'] : 'post_link'; $link_target = isset($source_args['link_target']) ? $source_args['link_target'] : ''; //global $post, $posts; $post = get_post($post_id); /**$post_content = $post->post_content; */ $post_content = htmlspecialchars_decode($post->post_content, ENT_QUOTES); $first_img = ''; ob_start(); ob_end_clean(); if (class_exists('SiteOrigin_Widgets_Bundle')) { $output = str_replace(array('\/'), "\\", $post_content); // SiteOrigin adds \/ combinations $output = str_replace(array('src=\\'), 'src=', esc_url_raw($output)); // SiteOrigin adds \\ $output = str_replace(array('"url":'), ' <img src=', esc_url_raw($output)); //SiteOrigin does change the src to url $output = str_replace(array('<img src="'), '<img src="', esc_url_raw($output)); //SiteOrigin does add &< and " combinations which are not removed $output = str_replace(array('""'), '"', $output); // Remove this quot combination $output = str_replace(array('"'), '', $output); // Remove this quot combination /** search for post containing SiteOrigin image */ $findme = '"image":'; $start = strpos($post_content, $findme); $findme = ',"image_fallback"'; $end = strpos($post_content, $findme); $lengte = $end - $start; $search = (substr($post_content, $start, $lengte)); if ($search != "") { /** split the text */ $stringParts = explode(":", $search); $firstPart = isset($stringParts[0]) ? $stringParts[0] : ''; /** copy the post_id */ $ImagePost = isset($stringParts[1]) ? $stringParts[1] : ''; $getimage = wp_get_attachment_image($ImagePost, $size = 'medium'); if ($getimage != "") { $output = $getimage; } } } else { /** no SiteOrigin image so get the matches */ $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post_content, $matches); } $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*?>/i', $output, $matches); if ($output = '0') { $output = preg_match_all('/?<img src=[\'"]([^\'"]+)[\'"].*?>/i', $output, $matches); } if (!empty($matches[1][0])) { $first_img = isset($matches[1][0]) ? $matches[1][0] : ''; $last_char = $first_img[strlen($first_img) - 1]; // Check to see if a slash is at the end of the line if ($last_char == '\\') { $first_img = substr($first_img, 0, -1); } } if (empty($first_img)) { $html_thumb .= ''; } else { if ($link_to == 'post_link') { $html_thumb .= '<a target="' . esc_attr($link_target) . '" href="' . esc_url($item_post_permalink) . '"><img src="' . esc_url($first_img) . '" /></a>'; } else { $html_thumb .= '<img src="' . esc_url($first_img) . '" />'; } } } else { do_action('post_grid_media', $post_id, $args); } echo $html_thumb; $html_thumb = ob_get_clean(); return $html_thumb; } function post_grid_term_slug_list($post_id) { $term_slug_list = ''; $post_taxonomies = get_post_taxonomies($post_id); foreach ($post_taxonomies as $taxonomy) { $term_list[] = wp_get_post_terms($post_id, $taxonomy, array("fields" => "all")); } if (!empty($term_list)) { foreach ($term_list as $term_key => $term) { foreach ($term as $term_id => $term) { $term_slug_list .= $term->slug . ' '; } } } return $term_slug_list; } function post_grid_layout_content_ajax() { if (current_user_can('manage_options')) { $layout_key = sanitize_text_field($_POST['layout']); $class_post_grid_functions = new class_post_grid_functions(); $post_grid_layout_content = get_option('post_grid_layout_content'); if (empty($post_grid_layout_content)) { $layout = $class_post_grid_functions->layout_content($layout_key); } else { $layout = $post_grid_layout_content[$layout_key]; } ?> <div class="<?php echo esc_attr($layout_key); ?>"> <?php foreach ($layout as $item_key => $item_info) { $item_key = $item_info['key']; ?> <div class="item <?php echo esc_attr($item_key); ?>" style=" <?php echo esc_attr($item_info['css']); ?> "> <?php if ($item_key == 'thumb') { ?> <img src="<?php echo esc_url(post_grid_plugin_url . 'assets/images/placeholder.png'); ?>" /> <?php } elseif ($item_key == 'title') { ?> Lorem Ipsum is simply <?php } elseif ($item_key == 'excerpt') { ?> Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text <?php } elseif ($item_key == 'excerpt_read_more') { ?> Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text <a href="#">Read more</a> <?php } elseif ($item_key == 'read_more') { ?> <a href="#">Read more</a> <?php } elseif ($item_key == 'post_date') { ?> 18/06/2015 <?php } elseif ($item_key == 'author') { ?> PickPlugins <?php } elseif ($item_key == 'categories') { ?> <a hidden="#">Category 1</a> <a hidden="#">Category 2</a> <?php } elseif ($item_key == 'tags') { ?> <a hidden="#">Tags 1</a> <a hidden="#">Tags 2</a> <?php } elseif ($item_key == 'comments_count') { ?> 3 Comments <?php } // WooCommerce elseif ($item_key == 'wc_full_price') { ?> <del>$45</del> - <ins>$40</ins> <?php } elseif ($item_key == 'wc_sale_price') { ?> $45 <?php } elseif ($item_key == 'wc_regular_price') { ?> $45 <?php } elseif ($item_key == 'wc_add_to_cart') { ?> Add to Cart <?php } elseif ($item_key == 'wc_rating_star') { ?> ***** <?php } elseif ($item_key == 'wc_rating_text') { ?> 2 Reviews <?php } elseif ($item_key == 'wc_categories') { ?> <a hidden="#">Category 1</a> <a hidden="#">Category 2</a> <?php } elseif ($item_key == 'wc_tags') { ?> <a hidden="#">Tags 1</a> <a hidden="#">Tags 2</a> <?php } elseif ($item_key == 'edd_price') { ?> $45 <?php } else { echo esc_html($item_info['name']); } ?> </div> <?php } ?> </div> <?php } die(); } add_action('wp_ajax_post_grid_layout_content_ajax', 'post_grid_layout_content_ajax');