<?php

if (has_filter('ompf_single_media_image')) {
    echo apply_filters('ompf_single_media_image', array());
} else {
    $images = ompf_get_post_images($post->ID);
    if (!empty($images)) {
        echo '<div class="ompf-portfolio-single-image-block">';
        $img_width = 700;
        if (isset($width100) && $width100 && isset($GLOBALS['omPortfolioPlugin']['config']['single_page_image_sizes']['100width']['width'])) {
            $img_width = $GLOBALS['omPortfolioPlugin']['config']['single_page_image_sizes']['100width']['width'];
        } elseif (isset($GLOBALS['omPortfolioPlugin']['config']['single_page_image_sizes'][$ratio]['width'])) {
            $img_width = $GLOBALS['omPortfolioPlugin']['config']['single_page_image_sizes'][$ratio]['width'];
        }
        foreach ($images as $img) {
            $img_ = omaq_resize($img[0], $img_width);
            if ($img_) {
                $arr = array('full_link' => $img[0], 'img_src' => $img_, 'img_alt' => $img['alt'], '100width' => $width100);
                $html = apply_filters('ompf_single_media_image_block', '<a href="' . $img[0] . '" rel="prettyPhoto[postgal_' . $post->ID . ']"><img src="' . $img_ . '" alt="' . esc_attr($img['alt']) . '" /></a>', $arr);
                echo '<div class="ompf-psib-item">' . $html . '</div>';
            }
        }
        echo '</div>';
    }
}
Пример #2
0
 function om_img_custom_resize($url, $width, $height = null, $crop = null, $single = true)
 {
     if (function_exists('omaq_resize')) {
         return omaq_resize($url, $width, $height, $crop, $single);
     } else {
         if ($single) {
             return $url;
         } else {
             return false;
         }
     }
 }
Пример #3
0
/**
 * Portfolio Thumbnails List
 */
function ompf_get_portfolio_thumbnails($args)
{
    $out = array();
    /*-------------------------------------------------------*/
    if (!isset($args['query_args'])) {
        $args['query_args'] = array();
    }
    if (isset($args['wp_query']) && $args['wp_query']) {
        $query = $args['wp_query'];
        $out['pagination'] = $query->query_vars['posts_per_page'];
    } else {
        $query_args = array('post_type' => 'portfolio', 'post_status' => 'publish');
        // sort
        if (isset($args['query_args']['orderby']) && isset($args['query_args']['order'])) {
            $query_args['orderby'] = $args['query_args']['orderby'];
            $query_args['order'] = $args['query_args']['order'];
        } else {
            if ($args['portfolio_post_id']) {
                $sort = get_post_meta($args['portfolio_post_id'], 'ompf_portfolio_sort', true);
            } else {
                $sort = 'custom';
            }
            if ($sort == 'date_asc') {
                $query_args['orderby'] = 'date';
                $query_args['order'] = 'ASC';
            } elseif ($sort == 'date_desc') {
                $query_args['orderby'] = 'date';
                $query_args['order'] = 'DESC';
            } else {
                $query_args['orderby'] = 'menu_order';
                $query_args['order'] = 'ASC';
            }
        }
        //pagination
        if (isset($args['query_args']['posts_per_page'])) {
            $query_args['posts_per_page'] = $args['query_args']['posts_per_page'];
        } else {
            if ($args['portfolio_post_id']) {
                $pagination = get_post_meta($args['portfolio_post_id'], 'ompf_portfolio_pagination', true);
            } else {
                $pagination = 'no';
            }
            if ($pagination == 'pages') {
                $pagination_per_page = intval(get_post_meta($args['portfolio_post_id'], 'ompf_portfolio_per_page', true));
                if ($pagination_per_page) {
                    $query_args['posts_per_page'] = $pagination_per_page;
                    $out['pagination'] = $pagination;
                } else {
                    $query_args['posts_per_page'] = -1;
                    $out['pagination'] = 'no';
                }
            } elseif ($pagination == 'scroll') {
                $pagination_per_page = intval(get_post_meta($args['portfolio_post_id'], 'ompf_portfolio_per_page', true));
                if ($pagination_per_page) {
                    $query_args['posts_per_page'] = $pagination_per_page;
                } else {
                    $query_args['posts_per_page'] = $GLOBALS['omPortfolioPlugin']['config']['infinite_scroll_portion'];
                }
                $out['pagination'] = $pagination;
            } else {
                $query_args['posts_per_page'] = -1;
                $out['pagination'] = 'no';
            }
        }
        if (isset($query_args['posts_per_page']) && $query_args['posts_per_page'] != -1) {
            if (isset($args['query_args']['paged'])) {
                $query_args['paged'] = $args['query_args']['paged'];
            } else {
                $query_args['paged'] = get_query_var('paged') ? get_query_var('paged') : 1;
            }
        }
        //category
        if (isset($args['query_args']['tax_query'])) {
            $query_args['tax_query'] = $args['query_args']['tax_query'];
        } else {
            if (isset($args['category_id']) && $args['category_id']) {
                $query_args['tax_query'] = array(array('taxonomy' => 'portfolio-type', 'terms' => $args['category_id']));
            }
        }
        $query_args = apply_filters('ompf_portfolio_query', $query_args);
        $query = new WP_Query($query_args);
    }
    $out['max_num_pages'] = $query->max_num_pages;
    $out['post_count'] = $query->post_count;
    $out['found_posts'] = $query->found_posts;
    /*-------------------------------------------------------*/
    if (!isset($args['portfolio_post_id'])) {
        $args['portfolio_post_id'] = false;
    }
    if (!isset($args['layout'])) {
        if ($args['portfolio_post_id']) {
            $args['layout'] = get_post_meta($args['portfolio_post_id'], 'ompf_portfolio_layout', true);
        }
        if (!isset($args['layout']) || !$args['layout']) {
            $args['layout'] = 'fixed';
        }
    }
    if (!isset($args['size'])) {
        if ($args['portfolio_post_id']) {
            $args['size'] = get_post_meta($args['portfolio_post_id'], 'ompf_portfolio_thumbs_size', true);
        }
        if (!isset($args['size']) || !$args['size']) {
            $args['size'] = 'medium';
        }
    }
    if (!isset($args['image_size'])) {
        $args['image_size'] = $args['size'];
        if ($GLOBALS['omPortfolioPlugin']['config']['theme_support_portfolio_width100'] && $args['portfolio_post_id']) {
            if (get_post_meta($args['portfolio_post_id'], 'ompf_portfolio_full_width', true)) {
                $args['image_size'] .= '-full';
            }
        }
    }
    if (!isset($args['margins'])) {
        if ($args['portfolio_post_id']) {
            $args['margins'] = get_post_meta($args['portfolio_post_id'], 'ompf_portfolio_item_margins', true);
        }
        if (!isset($args['margins']) || !$args['margins']) {
            $args['margins'] = 'standard';
        }
    }
    if (!isset($args['ratio']) && $args['layout'] != 'masonry') {
        if ($args['portfolio_post_id']) {
            $args['ratio'] = floatval(get_post_meta($args['portfolio_post_id'], 'ompf_portfolio_fixed_ratio', true));
        }
        if (!isset($args['ratio']) || !$args['ratio']) {
            $args['ratio'] = 1.5;
        }
    }
    if (!isset($args['preview_layout'])) {
        if ($args['portfolio_post_id']) {
            $args['preview_layout'] = get_post_meta($args['portfolio_post_id'], 'ompf_portfolio_preview_layout', true);
        }
        if (!isset($args['preview_layout']) || !$args['preview_layout']) {
            $args['preview_layout'] = 'full';
        }
    }
    if (isset($GLOBALS['omPortfolioPlugin']['config']['thumbnail_sizes'][$args['image_size']]['width'])) {
        $thumb_width = $GLOBALS['omPortfolioPlugin']['config']['thumbnail_sizes'][$args['image_size']]['width'];
    } else {
        $thumb_width = 300;
    }
    if (isset($args['ratio']) && $args['ratio']) {
        $thumb_height = round($thumb_width / $args['ratio']);
    } else {
        $thumb_height = false;
    }
    /*-------------------------------------------------------*/
    if (has_filter('ompf_portfolio_layout_' . $args['layout'])) {
        $out['html'] = apply_filters('ompf_portfolio_layout_' . $args['layout'], '', $query, $args);
    } else {
        if ($query->have_posts()) {
            ob_start();
            while ($query->have_posts()) {
                $query->the_post();
                global $post;
                $link = get_post_meta($post->ID, 'ompf_portfolio_custom_link', true);
                if (!$link) {
                    $link = get_permalink();
                } elseif ($link == 'none') {
                    $link = false;
                }
                $img = false;
                if (has_post_thumbnail()) {
                    $img = wp_get_attachment_image_src(get_post_thumbnail_id(), 'full');
                    if ($img) {
                        if ($thumb_height) {
                            $img_ = omaq_resize($img[0], $thumb_width, $thumb_height, true, false);
                        } else {
                            $img_ = omaq_resize($img[0], $thumb_width, null, null, false);
                        }
                        if ($img_) {
                            $img = $img_;
                        }
                    }
                }
                $item_classes = array('ompf-portfolio-thumb', 'ompf-size-' . $args['size']);
                if ($args['layout'] != 'random') {
                    $term_classes = ompf_item_term_classes($post->ID);
                    if ($term_classes) {
                        $item_classes[] = $term_classes;
                    }
                }
                if ($link) {
                    $item_classes[] = 'ompf-with-link';
                } else {
                    $item_classes[] = 'ompf-no-link';
                }
                if (has_filter('ompf_portfolio_layout_' . $args['layout'] . '_item')) {
                    echo apply_filters('ompf_portfolio_layout_' . $args['layout'] . '_item', '', array('post' => $post, 'args' => $args, 'item_classes' => $item_classes, 'link' => $link, 'img' => $img));
                } else {
                    ?>
					<div class="<?php 
                    echo esc_attr(implode(' ', $item_classes));
                    ?>
" id="post-<?php 
                    the_ID();
                    ?>
">
						<a<?php 
                    if ($link) {
                        echo ' href="' . esc_url($link) . '"';
                    }
                    ?>
>
							<?php 
                    if ($img || $args['layout'] != 'masonry') {
                        ?>
							<span class="ompf-pic-wrapper">
								<span class="ompf-pic" style="padding-top:<?php 
                        echo $args['layout'] == 'masonry' ? $img[2] / $img[1] * 100 : 1 / $args['ratio'] * 100;
                        ?>
%">
									<span class="ompf-pic-inner">
										<?php 
                        $company_name = get_post_meta($post->ID, 'ompf_portfolio_company', true);
                        if ($img) {
                            if ($GLOBALS['omPortfolioPlugin']['config']['enable_lazyload_markup']) {
                                echo '<img src="' . $GLOBALS['omPortfolioPlugin']['config']['lazyload_placeholder'] . '" data-original="' . $img[0] . '" class="lazyload" alt="' . esc_attr($post->post_title) . '" />';
                            } else {
                                echo '<img src="' . $img[0] . '" alt="' . esc_attr($post->post_title) . '" />';
                            }
                        }
                        ?>
									</span>
								</span>
							</span>
							<?php 
                    }
                    ?>
							<?php 
                    if ($args['preview_layout'] != 'thumbnail') {
                        ?>
							<span class="ompf-desc-wrapper">
								<span class="ompf-desc">
									<span class="ompf-desc-inner">
                                   		<span class="ompf-title company_name"><?php 
                        echo $company_name;
                        ?>
</span>
										<span class="ompf-title"><?php 
                        echo esc_html(get_the_title());
                        ?>
</span>
										<?php 
                        if ($args['layout'] != 'random' && ($text = get_post_meta($post->ID, 'ompf_portfolio_short_desc', true))) {
                            ?>
<span class="ompf-text"><?php 
                            echo esc_html($text);
                            ?>
</span><?php 
                        }
                        ?>
									</span>
								</span>
							</span>
							<?php 
                    }
                    ?>
						</a>
					</div>
					<?php 
                }
            }
            $out['html'] = ob_get_clean();
        }
    }
    wp_reset_postdata();
    /*----------------------------------------*/
    $out['paged'] = $query->query_vars['paged'];
    if (!$out['paged']) {
        $out['paged'] = 1;
    }
    $out['args'] = $args;
    return $out;
}