示例#1
0
function woocommerce_subcategory_thumbnail($category)
{
    // Figure
    $figure = \Drone\HTML::figure()->class('featured full-width');
    // Hyperlink
    $a = $figure->addNew('a')->attr(Everything::getImageAttrs('a', array('fancybox' => false)))->href(get_term_link($category->slug, 'product_cat'));
    // Thumbnail
    $thumbnail_id = get_woocommerce_term_meta($category->term_id, 'thumbnail_id', true);
    $thumbnail_size = apply_filters('single_product_small_thumbnail_size', 'shop_catalog');
    if ($thumbnail_id) {
        $a->add(wp_get_attachment_image($thumbnail_id, $thumbnail_size));
    } elseif (woocommerce_placeholder_img_src()) {
        $a->add(woocommerce_placeholder_img($thumbnail_size));
    }
    echo $figure->html();
}
示例#2
0
 /**
  * Image attributes
  *
  * @since 1.0
  *
  * @param string $tag
  * @param array  $atts
  */
 public static function imageAttrs($tag, $atts = array())
 {
     echo Everything::getImageAttrs($tag, $atts, 'html');
 }
示例#3
0
<?php

/**
 * @package    WooCommerce/Templates
 * @subpackage Everything
 * @since      1.0
 * @version    2.0.14
 */
// -----------------------------------------------------------------------------
if (!defined('ABSPATH')) {
    exit;
}
// -----------------------------------------------------------------------------
global $post, $woocommerce, $product;
?>

<div class="images"><?php 
if (has_post_thumbnail()) {
    $image_title = esc_attr(Everything::woocommerceGetThumbnailCaption(get_post_thumbnail_id()));
    $image_link = wp_get_attachment_url(get_post_thumbnail_id());
    $image = get_the_post_thumbnail($post->ID, apply_filters('single_product_large_thumbnail_size', 'auto'), array('title' => $image_title));
    echo apply_filters('woocommerce_single_product_image_html', sprintf('<figure class="full-width"><a href="%s" itemprop="image" data-fancybox-title="%s" data-fancybox-group="product-gallery" ' . str_replace('class="', 'class="zoom ', Everything::getImageAttrs('a', array(), 'html')) . '>%s</a></figure>', $image_link, $image_title, $image), $post->ID);
} else {
    echo apply_filters('woocommerce_single_product_image_html', sprintf('<figure class="full-width"><div ' . Everything::getImageAttrs('div', array(), 'html') . '><img src="%s" alt="Placeholder" /></div></figure>', woocommerce_placeholder_img_src()), $post->ID);
}
do_action('woocommerce_product_thumbnails');
?>
</div>
示例#4
0
 function widget($args, $instance)
 {
     ob_start();
     parent::widget($args, $instance);
     $output = ob_get_clean();
     $output = Everything::woocommerceWidgetParseList($output);
     $output = preg_replace_callback('#' . '<li>' . '<a[^>]*?href="(?P<url>[^"]*)"[^>]*?>\\s*(?P<thumbnail><img[^>]*>)(?P<title>[^<>]*)</a>' . '<div[^>]*class="star-rating"[^>]*><span[^>]*><strong class="rating">(?P<average>[,\\.0-9]+)</strong>[^>]*</span></div>' . '<span class="reviewer">(?P<author>[^<>]*)</span>' . '</li>' . '#i', function ($m) {
         $html = \Drone\HTML::li();
         $html->addNew('figure')->class('alignright fixed')->addNew('a')->attr(Everything::getImageAttrs('a', array('border' => true, 'hover' => '', 'fanbcybox' => false)))->href($m['url'])->title($m['title'])->add($m['thumbnail']);
         $html->addNew('h3')->addNew('a')->href($m['url'])->title($m['title'])->add($m['title']);
         $html->add(Everything::getShortcodeOutput('rating', array('rate' => $m['average'] . '/5', 'author' => $m['author'])));
         return $html->html();
     }, $output);
     echo $output;
 }
示例#5
0
 protected function onShortcode($content, $code, \Drone\HTML &$html)
 {
     // Columns
     $columns_int = (int) rtrim($this->so('columns'), '+');
     $columns_plus = $this->so('columns') != (string) $columns_int;
     // Posts
     $query = new \WP_Query(array('posts_per_page' => $this->so('count', '__empty', -1), 'post_status' => 'publish', 'post_type' => 'portfolio', 'post_parent' => $this->so('id', '__default', get_the_ID()), 'post__not_in' => is_single() ? array(get_the_ID()) : array(), 'orderby' => $this->so('orderby'), 'order' => $this->so('order'), 'paged' => max(get_query_var('page'), get_query_var('paged'), 1)));
     if (!$query->have_posts()) {
         return;
     }
     // Bricks
     $bricks = $html->addNew('div')->class('bricks')->data('bricks-columns', $columns_int)->data('bricks-filter', Func::boolToString($this->so('filter')));
     while ($query->have_posts()) {
         $query->the_post();
         $div = $bricks->addNew('div');
         if ($columns_plus) {
             $div->addClass('one-plus');
         }
         // Item
         $item = $div->addNew('article')->id('portfolio-item-' . get_the_ID())->addClass(get_post_class('portfolio-item'));
         if ($this->so('title') || $this->so('teaser') || $this->so('taxonomy')) {
             $item->addClass('bordered');
         }
         // Terms
         if ($this->so('filter')) {
             $terms = Func::wpPostTermsList(get_the_ID(), 'portfolio-' . $this->so('filter'));
             if (count($terms) > 0) {
                 $div->data('bricks-terms', json_encode(array_values($terms)));
             }
         }
         // Columns +
         if ($columns_plus) {
             $ul = $item->addNew('div')->class('columns')->addNew('ul');
             $item_featured = $ul->addNew('li')->class('col-2-3');
             $item_desc = $ul->addNew('li')->class('col-1-3');
         } else {
             $item_featured = $item_desc = $item;
         }
         // Featured image
         if (has_post_thumbnail()) {
             $item_featured->addNew('figure')->class('thumbnail featured full-width')->addNew('a')->attr(\Everything::getImageAttrs('a', array('border' => false, 'hover' => $this->so('image_hover'), 'fancybox' => false)))->href(get_permalink())->add(get_the_post_thumbnail(null, $columns_plus ? 'auto-2' : 'auto'));
         }
         // Title
         if ($this->so('title')) {
             $item_desc->addNew($columns_int == 1 ? 'h2' : 'h3')->addNew('a')->href(get_permalink())->title(the_title_attribute(array('echo' => false)))->add(get_the_title());
         }
         // Teaser
         switch ($this->so('teaser')) {
             case 'excerpt':
                 $item_desc->addNew('p')->add(get_the_excerpt());
                 break;
             case 'excerpt_content':
                 if (has_excerpt()) {
                     $item_desc->addNew('p')->add(get_the_excerpt());
                     break;
                 }
             case 'content':
                 $GLOBALS['more'] = 0;
                 $item_desc->add(\Drone\Func::wpProcessContent(get_the_content(\Everything::getReadMore())));
                 break;
         }
         //$item_desc->addNew('p')->add(wp_trim_words(has_excerpt() ? get_the_excerpt() : strip_shortcodes($GLOBALS['post']->post_content), $this->so('excerpt_length'), ' [&hellip;]'));
         // Taxonomy
         if ($this->so('taxonomy')) {
             $item_desc->add(get_the_term_list(get_the_ID(), 'portfolio-' . $this->so('taxonomy'), '<p class="small alt">', ', ', '</p>'));
         }
     }
     wp_reset_postdata();
     // Paginate links
     if ($this->so('pagination') && ($pagination = \Everything::getPaginateLinks('portfolio', $query))) {
         $html->add($pagination);
     }
 }
示例#6
0
文件: cart.php 项目: xpander54/wp-drz
        ?>
">

					<td class="product-remove">
						<?php 
        echo apply_filters('woocommerce_cart_item_remove_link', sprintf('<a href="%s" class="remove alt" title="%s"><i class="icon-cancel-circled"></i></a>', esc_url(WC()->cart->get_remove_url($cart_item_key)), __('Remove this item', 'woocommerce')), $cart_item_key);
        ?>
					</td>

					<td class="product-thumbnail">
						<?php 
        $thumbnail = apply_filters('woocommerce_cart_item_thumbnail', $_product->get_image('post-thumbnail-mini'), $cart_item, $cart_item_key);
        if (!$_product->is_visible()) {
            echo $thumbnail;
        } else {
            printf('<figure><a href="%s" ' . Everything::getImageAttrs('a', array('border' => true, 'hover' => '', 'fancybox' => false), 'html') . '>%s</a></figure>', $_product->get_permalink(), $thumbnail);
        }
        ?>
					</td>

					<td class="product-name">
						<?php 
        if (!$_product->is_visible()) {
            echo apply_filters('woocommerce_cart_item_name', $_product->get_title(), $cart_item, $cart_item_key);
        } else {
            echo apply_filters('woocommerce_cart_item_name', sprintf('<a href="%s">%s</a>', $_product->get_permalink(), $_product->get_title()), $cart_item, $cart_item_key);
        }
        echo WC()->cart->get_item_data($cart_item);
        if ($_product->backorders_require_notification() && $_product->is_on_backorder($cart_item['quantity'])) {
            echo '<p class="backorder_notification">' . __('Available on backorder', 'woocommerce') . '</p>';
        }