コード例 #1
0
function tdr_top_choices_table($args)
{
    $defaults = array('number_to_show' => 3, 'number_to_query' => 3, 'offer_cat_terms' => get_terms('offer-category', array('fields' => 'ids')), 'rank_meta_key' => '');
    $args = wp_parse_args($args, $defaults);
    extract($args, EXTR_SKIP);
    /* Set up the Query */
    /* Taxonomy for the Query
     * ***************************************************************/
    // Set up the taxonomy
    $offer_cat_args = array(array('taxonomy' => 'offer-category', 'field' => 'id', 'terms' => $offer_cat_terms));
    /* Create the query 
     * ***************************************************************/
    $basic_query = new WP_Query(array('tax_query' => $offer_cat_args, 'post_type' => 'tdr_product', 'posts_per_page' => (int) $number_to_query, 'order' => 'ASC', 'orderby' => 'meta_value_num', 'meta_key' => 'thunder_plugin_products_rank'));
    // If a Rank Key is defined, reorder the Products
    if (!empty($rank_meta_key)) {
        global $tdr_rank_key;
        $tdr_rank_key = $rank_meta_key;
        usort(&$basic_query->{'posts'}, 'tdr_sort_by_offer_category_rank');
        $basic_query->rewind_posts();
    }
    // Update to only show the $number_to_show
    $basic_query->post_count = $number_to_show;
    $returner = '<div class="row">';
    $returner .= '<div class="span">';
    // Set up tdr_product
    $product = new Thunder_Plugin_Products();
    while ($basic_query->have_posts()) {
        $basic_query->the_post();
        // Get the ID for the Rating Bar, this determines how the stars appear
        $internal_rating = floatval($product->get_the_internal_rating());
        if ($internal_rating < 2.2) {
            $internal_rating_id = 'two_zero';
        } elseif ($internal_rating < 2.7) {
            $internal_rating_id = 'two_five';
        } elseif ($internal_rating < 3.2) {
            $internal_rating_id = 'three_zero';
        } elseif ($internal_rating < 3.7) {
            $internal_rating_id = 'three_five';
        } elseif ($internal_rating < 4.2) {
            $internal_rating_id = 'four_zero';
        } elseif ($internal_rating < 4.7) {
            $internal_rating_id = 'four_five';
        } elseif ($internal_rating >= 4.7) {
            $internal_rating_id = 'five_zero';
        } else {
            $internal_rating_id = $internal_rating;
        }
        // Force display of non-significant digits for the internal rating
        $internal_rating = sprintf("%1.1f", $internal_rating);
        // Output a row for this Product, and get its name
        $returner .= '<div class="row"><div class="span4" style="border-top: 1px solid #eee; padding: 10px 0;">';
        $product_name = $product->get_the_affiliate_name();
        // Get the logo, and set up link
        add_image_size('our_top_choices_thumb', 120, 30);
        $review_link = get_permalink();
        $attr['alt'] = $product_name . ' Reviews';
        $attr['title'] = $product_name . ' Reviews';
        if (class_exists('MultiPostThumbnails') && MultiPostThumbnails::has_post_thumbnail('tdr_product', 'thumbnail-affiliate-logo')) {
            $affiliate_img = MultiPostThumbnails::get_the_post_thumbnail('tdr_product', 'thumbnail-affiliate-logo', NULL, 'our_top_choices_thumb', $attr);
        }
        $returner .= "<div class='our_top_logos'>";
        $returner .= "<a href='{$review_link}'>";
        $returner .= $affiliate_img;
        $returner .= '</a>';
        $returner .= "</div><!-- end .our_top_logos -->";
        $returner .= "<div class='our_top_ratings' style=''>";
        $returner .= "<div id='{$internal_rating_id}' class='rating-bar' style='position: relative; left: 5px;'></div>";
        $returner .= "<span style='font-size: 24px; font-weight: bold; line-height: 24px; '>{$internal_rating}</span>" . " <span class='review-link'>(<a href='{$review_link}' style=''>Review</a>)</span>";
        $returner .= "</div>";
        $returner .= "<div class='our_top_visit' style=''>";
        $product_id = $product->get_the_id();
        $jump_page_url = get_home_url() . "/visit?site={$product_id}&t=sidebar";
        $returner .= "<a target=_blank' href='{$jump_page_url}'><span style='font-size:10px;'>&#9654;</span> Visit Site</a>";
        $returner .= "</div>";
        $returner .= '</div><!-- end .span --></div><!-- end .row -->';
    }
    $returner .= "</div><!-- end .span -->";
    $returner .= "</div><!-- end .row -->";
    $returner .= '<div class="read_more_articles">';
    $offer_category_permalink = get_home_url() . '/reviews';
    $returner .= "<a href='{$offer_category_permalink}' id='review_page_link'>+ View All Reviews</a>";
    $returner .= '</div><!-- end .read_more_articles -->';
    return $returner;
}