/** * wpsc buy now button code products function * Sorry about the ugly code, this is just to get the functionality back, buy now will soon be overhauled, and this function will then be completely different * @return string - html displaying one or more products */ function wpsc_buy_now_button($product_id, $replaced_shortcode = false) { global $wpdb, $wpsc_query, $wpsc_cart; $temp_wpsc_query = new WPSC_query(array('product_id' => $product_id)); list($wpsc_query, $temp_wpsc_query) = array($temp_wpsc_query, $wpsc_query); // swap the wpsc_query objects // exit('<pre>'.print_r($temp_wpsc_query, true).'</pre>'); $selected_gateways = get_option('custom_gateway_options'); if (in_array('google', (array) $selected_gateways)) { $output .= google_buynow($product['id']); } else { if (in_array('paypal_multiple', (array) $selected_gateways)) { if ($product_id > 0) { //$output .= "<pre>".print_r($wpsc_query,true)."</pre>"; while (wpsc_have_products()) { wpsc_the_product(); $price = calculate_product_price($wpsc_query->product['id'], $wpsc_query->first_variations); $shipping = $wpsc_query->product['pnp']; $output .= "<form onsubmit='log_paypal_buynow(this)' target='paypal' action='" . get_option('paypal_multiple_url') . "' method='post' />\n\t\t\t\t\t<input type='hidden' name='business' value='" . get_option('paypal_multiple_business') . "' />\n\t\t\t\t\t<input type='hidden' name='cmd' value='_xclick' />\n\t\t\t\t\t<input type='hidden' name='item_name' value='" . wpsc_the_product_title() . "' />\n\t\t\t\t\t<input type='hidden' id='item_number' name='item_number' value='" . wpsc_the_product_id() . "' />\n\t\t\t\t\t<input type='hidden' id='amount' name='amount' value='" . ($price + $pnp) . "' />\n\t\t\t\t\t<input type='hidden' id='unit' name='unit' value='" . $price . "' />\n\t\t\t\t\t<input type='hidden' id='shipping' name='ship11' value='" . $shipping . "' />\n\t\t\t\t\t<input type='hidden' name='handling' value='" . get_option('base_local_shipping') . "' />\n\t\t\t\t\t<input type='hidden' name='currency_code' value='" . get_option('paypal_curcode') . "' />\n\t\t\t\t\t<input type='hidden' name='undefined_quantity' value='0' />\n\t\t\t\t\t<input type='image' name='submit' border='0' src='https://www.paypal.com/en_US/i/btn/btn_buynow_LG.gif' alt='PayPal - The safer, easier way to pay online' />\n\t\t\t\t\t<img alt='' border='0' width='1' height='1' src='https://www.paypal.com/en_US/i/scr/pixel.gif' />\n\t\t\t\t</form>\n\r"; } } } } list($temp_wpsc_query, $wpsc_query) = array($wpsc_query, $temp_wpsc_query); // swap the wpsc_query objects back if ($replaced_shortcode == true) { return $output; } else { echo $output; } }
<?php } ?> <?php do_action('wpsc_top_of_products_page'); // Plugin hook for adding things to the top of the products page, like the live search ?> <div class="productdisplay"> <?php /** start the product loop here, this is single products view, so there should be only one */ ?> <?php while (wpsc_have_products()) { wpsc_the_product(); ?> <div class="single_product_display product_view_<?php echo wpsc_the_product_id(); ?> "> <div class="textcol"> <?php if (get_option('show_thumbnails')) { ?> <div class="imagecol"> <?php if (wpsc_the_product_thumbnail()) { ?> <a rel="<?php
function wpsc_gold_shpcrt_ajax($id) { global $wpdb; if (isset($_POST) && !empty($_POST)) { if (isset($_POST['wpsc_live_search']) && $_POST['wpsc_live_search'] == true && (get_option('show_live_search') == 1 || true == $_POST['wpsc_search_widget']) && !empty($_POST['product_search'])) { $keyword = $_POST['product_search']; $output = "<ul>"; if (version_compare(WPSC_VERSION, '3.8', '<')) { $search_sql = gold_shpcrt_search_sql($keyword); $product_list = $wpdb->get_results("SELECT DISTINCT `" . WPSC_TABLE_PRODUCT_LIST . "`.* FROM `" . WPSC_TABLE_PRODUCT_LIST . "` WHERE `" . WPSC_TABLE_PRODUCT_LIST . "`.`active`='1' {$search_sql} ORDER BY `" . WPSC_TABLE_PRODUCT_LIST . "`.`name` ASC", ARRAY_A); if ($product_list != null) { foreach ($product_list as $product) { //filter out the HTML, otherwise we get partial tags and everything breaks $product['description'] = wp_kses($product['description'], false); // shorten the description; if (strlen($product['description']) > 68) { $product_description = substr($product['description'], 0, 68) . "..."; } else { $product_description = $product['description']; } //generate the HTML $output .= "<li>\n\r"; $output .= "\t<a href='" . wpsc_product_url($product['id']) . "'>\n\r"; if ($product['image'] != '') { $output .= "\t\t\t\t<img class='live-search-image' src='index.php?productid=" . $product['id'] . "&width=50&height=50'>\n\r"; } else { $output .= "\t\t\t\t<img class='live-search-image' src='" . get_option('siteurl') . "/wp-content/plugins/" . WPSC_DIR_NAME . "/no-image-uploaded.gif' style='height: 50px; width: 50px;'>\n\r"; } $output .= "\t\t\t\t<div class='live-search-text'>\n\r"; $output .= "\t\t\t\t\t<strong>" . $product['name'] . "</strong>\n\r"; $output .= "\t\t\t\t\t<div class='description'>" . stripslashes($product_description) . "</div>\n\r"; $output .= "\t\t\t\t</div>\n\r"; $output .= "\t\t <br clear='both' />\n\r"; $output .= "\t\t</a>\n\r"; $output .= "</li>\n\r"; } } } else { wpsc_gc_start_search_query(); echo '<ul>'; while (wpsc_have_products()) { wpsc_the_product(); ?> <li> <a style="clear:both;" href="<?php echo wpsc_the_product_permalink(); ?> "> <?php if (wpsc_the_product_thumbnail()) { ?> <img class="live-search-image" alt="<?php echo wpsc_the_product_title(); ?> " src="<?php echo wpsc_the_product_thumbnail(50, 50, 0, 'live-search'); ?> " /> <?php } else { ?> <img class="live-search-image" alt="No Image" title="<?php echo wpsc_the_product_title(); ?> " src="<?php echo WPSC_CORE_THEME_URL; ?> wpsc-images/noimage.png" style="width:50px; height:50px;" /> <?php } ?> <div class="live-search-text"> <strong><?php echo wpsc_the_product_title(); ?> </strong> <div class="description"> <?php echo wpsc_the_product_description(); ?> </div> </div> </a> </li> <?php } echo '</ul>'; exit; } $output .= "</ul>"; if (!empty($product_list)) { $_SESSION['live_search_results'] = $product_list; } exit($output); } } if (isset($_POST['affiliate']) && $_POST['affiliate'] == true) { if (!function_exists('affiliate_text')) { function affiliate_text($id, $user) { $output = "<a target='_blank' title='Your Shopping Cart' href='" . get_option('siteurl') . "/?action=affiliate&p={$id}&user_id=" . $user . "&height=400&width=600' class='thickbox'><img src='" . WPSC_URL . "/" . $images_dir . "/buynow.jpg'></a>"; return $output; } } $id = $_POST['prodid']; $product = $wpdb->get_row("SELECT * FROM `" . WPSC_TABLE_PRODUCT_LIST . "` WHERE id='{$id}' LIMIT 1", ARRAY_A); $product = $product[0]; $link = affiliate_text($id, $_POST['uid']); echo "<textarea class='affiliate_text' onclick='this.select();' >{$link}</textarea>"; exit; } if (isset($_POST['log_affiliate']) && $_POST['log_affiliate'] == true) { $uid = $_POST['uid']; $amount = $_POST['amount']; $product = $wpdb->query("UPDATE {$wpdb->prefix}wpsc_affiliates SET paid=paid+{$amount} WHERE user_id='{$uid}'"); echo "uid=" . $uid; exit; } }
<!-- Start Pagination --> <?php if ( ( get_option( 'use_pagination' ) == 1 && ( get_option( 'wpsc_page_number_position' ) == 1 || get_option( 'wpsc_page_number_position' ) == 3 ) ) ) : ?> <div class="wpsc_page_numbers"> <?php if ( wpsc_has_pages() ) : ?> <div class="pagination-products-showing">Showing <?php echo wpsc_showing_products(); ?> of <?php echo wpsc_total_product_count(); ?> products</div> <div class="pagination-pages"><?php echo wpsc_first_products_link( '« First', true ); ?> <?php echo wpsc_previous_products_link( '« Previous', true ); ?> <?php echo wpsc_pagination( 10 ); ?> <?php echo wpsc_next_products_link( 'Next »', true ); ?> <?php echo wpsc_last_products_link( 'Last »', true ); ?></div> <?php endif; ?> </div> <?php endif; ?> <!-- End Pagination --> <table class="list_productdisplay <?php echo wpsc_category_class(); ?>"> <?php /** start the product loop here */?> <?php $alt = 0; ?> <?php while (wpsc_have_products()) : wpsc_the_product(); ?> <?php $alt++; if ($alt %2 == 1) { $alt_class = 'alt'; } else { $alt_class = ''; } ?> <tr class="product_view_<?php echo wpsc_the_product_id(); ?> <?php echo $alt_class;?>"> <td style="width: 9px;"> </td> <td width="55%"> <a class="wpsc_product_title" href="<?php echo wpsc_the_product_permalink(); ?>"> <strong><?php echo wpsc_the_product_title(); ?></strong> </a> </td> <td width="10" style="text-align: center;">
/** * Product Specials Widget content function * * Displays the latest products. * * @todo Remove marketplace theme specific code and maybe replce with a filter for the image output? (not required if themeable as above) * * Changes made in 3.8 that may affect users: * * 1. The product title link text does now not have a bold tag, it should be styled via css. * 2. <br /> tags have been ommitted. Padding and margins should be applied via css. * 3. Each product is enclosed in a <div> with a 'wpec-special-product' class. * 4. The product list is enclosed in a <div> with a 'wpec-special-products' class. * 5. Function now expect a single paramter with an array of options (used to be a string which prepended the output). */ function wpsc_specials($args = null, $instance) { global $wpdb; $args = wp_parse_args((array) $args, array('number' => 5)); $siteurl = get_option('siteurl'); if (!($number = (int) $instance['number'])) { $number = 5; } $show_thumbnails = isset($instance['show_thumbnails']) ? (bool) $instance['show_thumbnails'] : FALSE; $show_description = isset($instance['show_description']) ? (bool) $instance['show_description'] : FALSE; $excludes = wpsc_specials_excludes(); $args = array('post_type' => 'wpsc-product', 'caller_get_posts' => 1, 'post_status' => 'publish', 'post_parent' => 0, 'post__not_in' => $excludes, 'posts_per_page' => $number); $special_products = query_posts($args); $output = ''; $product_ids[] = array(); if (count($special_products) > 0) { list($wp_query, $special_products) = array($special_products, $wp_query); // swap the wpsc_query object while (wpsc_have_products()) { wpsc_the_product(); if (!in_array(wpsc_the_product_id(), $product_ids)) { $product_ids[] = wpsc_the_product_id(); if ($show_thumbnails) { if (wpsc_the_product_thumbnail()) { ?> <a rel="<?php echo str_replace(array(" ", '"', "'", '"', '''), array("_", "", "", "", ''), wpsc_the_product_title()); ?> " href="<?php echo wpsc_the_product_permalink(); ?> "> <img class="product_image" id="product_image_<?php echo wpsc_the_product_id(); ?> " alt="<?php echo wpsc_the_product_title(); ?> " title="<?php echo wpsc_the_product_title(); ?> " src="<?php echo wpsc_the_product_thumbnail(); ?> "/> </a> <?php } else { ?> <a href="<?php echo wpsc_the_product_permalink(); ?> "> <img class="no-image" id="product_image_<?php echo wpsc_the_product_id(); ?> " alt="No Image" title="<?php echo wpsc_the_product_title(); ?> " src="<?php echo WPSC_URL; ?> /wpsc-theme/wpsc-images/noimage.png" width="<?php esc_attr_e(get_option('product_image_width')); ?> " height="<?php esc_attr_e(get_option('product_image_height')); ?> " /> </a> <?php } ?> <?php } // close show thumbnails ?> <br /> <span id="special_product_price_<?php echo wpsc_the_product_id(); ?> "> <!-- price display --> <?php if (wpsc_have_variation_groups()) { while (wpsc_have_variation_groups()) { wpsc_the_variation_group(); ?> <?php /** the variation HTML and loop */ ?> <?php $variation_outputs = array(); ?> <?php while (wpsc_have_variations()) { wpsc_the_variation(); ?> <?php $variation_outputs[] = ''; $variation_prices[] = wpsc_the_variation_price(true); } // Sort the variations into price order before outputting $data[] = $variation_outputs; $data[] = $variation_prices; array_multisort($data[1], SORT_ASC, SORT_NUMERIC, $data[0], SORT_ASC, SORT_STRING); ?> <?php } echo __('From', 'wpsc') . ' : ' . wpsc_currency_display($data[1][0]); ?> <?php } else { ?> <?php echo wpsc_currency_display(wpsc_calculate_price(wpsc_the_product_id(), null, true)); ?> <?php } ?> </span><br /> <strong><a class="wpsc_product_title" href="<?php echo wpsc_product_url(wpsc_the_product_id(), false); ?> "><?php echo wpsc_the_product_title(); ?> </a></strong><br /> <?php if ($show_description) { ?> <div class="wpsc-special-description"> <?php echo wpsc_the_product_description(); ?> </div> <?php } // close show description ?> <?php } } list($wp_query, $special_products) = array($special_products, $wp_query); // swap the wpsc_query object wp_reset_query(); } }
function promotion_meta() { global $post; global $wpsc_query, $wpdb; $custom = get_post_custom($post->ID); $link = $custom["link"][0]; $saving = $custom["saving"][0]; $start_date = $custom["start_date"][0]; $end_date = $custom["end_date"][0]; $link_type = $custom["link_type"][0]; $promotion_link = $custom["promotion_link"][0]; $promotion_link_category = $custom["promotion_link_category"][0]; $category_data = $wpdb->get_results("SELECT `id`, `name`, `nice-name`, `description`, `image` FROM `" . WPSC_TABLE_PRODUCT_CATEGORIES, ARRAY_A); $prettyPhoto = $custom["pretty_photo"][0]; $link_type_options = array('Product' => array('value' => 'product', 'label' => __('Link To Product', 'flexishop')), 'Category' => array('value' => 'category', 'label' => __('Link To Category', 'flexishop')), 'External' => array('value' => 'external', 'label' => __('External Link', 'flexishop'))); $lightbox_options = array('Enable' => array('value' => 'yes', 'label' => __('Enable Lightbox', 'flexishop')), 'Disable' => array('value' => 'no', 'label' => __('Disable Lightbox', 'flexishop'))); ?> <div class="input radio"> <?php if (!isset($checked)) { $checked = ''; } foreach ($link_type_options as $option) { if ('' != $link_type) { if ($link_type == $option['value']) { $checked = "checked=\"checked\""; } else { $checked = ''; } } ?> <label class="description"><input type="radio" name="link_type" value="<?php esc_attr_e($option['value']); ?> " <?php echo $checked; ?> class="con-check" /> <?php echo $option['label']; ?> </label> <?php } ?> </div> <div id="external" class="input text hidden-field"> <label>Links To External:</label> <input cols="50" name="link" value="<?php echo $link; ?> " /> <div class="input radio"> <?php if (!isset($checked)) { $checked = ''; } foreach ($lightbox_options as $option) { if ('' != $prettyPhoto) { if ($prettyPhoto == $option['value']) { $checked = "checked=\"checked\""; } else { $checked = ''; } } ?> <label class="description"><input type="radio" name="pretty_photo" value="<?php esc_attr_e($option['value']); ?> " <?php echo $checked; ?> /> <?php echo $option['label']; ?> </label> <?php } ?> </div> </div> <div id="product" class="input select hidden-field"> <label><?php _e('Links To Product:', 'flexishop'); ?> </label> <select name="promotion_link"> <?php $wpsc_query = new WPSC_Query(); while (wpsc_have_products()) { wpsc_the_product(); ?> <?php $currentlink = str_replace("&", "&", wpsc_the_product_permalink()); ?> <option value="<?php echo wpsc_the_product_permalink(); ?> " <?php if ($promotion_link == $currentlink) { echo "selected = 'selected'"; } ?> ><?php echo wpsc_the_product_title(); ?> </option> <?php } ?> </select> </div> <div id="category" class="input select hidden-field"> <label><?php _e('Links To Category:', 'flexishop'); ?> </label> <select name="promotion_link_category"> <?php foreach ($category_data as $category_row) { $name = $category_row['name']; $url = str_replace("&", "&", wpsc_category_url($category_row['id'])); ?> <option value="<?php echo $url; ?> " <?php if ($promotion_link_category == $url) { echo "selected = 'selected'"; } ?> ><?php echo $name; ?> </option> <?php } ?> </select> </div> <div class="input text"> <label><?php _e('Savings:', 'flexishop'); ?> </label> <input cols="50" name="saving" value="<?php echo $saving; ?> " /> </div> <div class="input text"> <label><?php _e('Start Date:', 'flexishop'); ?> </label> <input name="start_date" value="<?php echo $start_date; ?> " class="date-input" /> </div> <div class="input text"> <label><?php _e('End Date:', 'flexishop'); ?> </label> <input name="end_date" value="<?php echo $end_date; ?> " class="date-input" /> </div> <?php }
/** * Create product slider getting query */ function etheme_create_slider($args, $title = false, $image_width = 220, $image_height = 220, $crop = false) { global $wpdb; $box_id = rand(1000, 10000); $multislides = new WP_Query($args); if ($multislides->have_posts()) { if ($title) { $title_output = '<h2 class="slider-title">' . $title . '</h2>'; } echo '<div class="product-slider">'; echo $title_output; echo '<div class="clear"></div>'; echo '<div class="carousel">'; echo '<div class="slider">'; $_i = 0; while ($multislides->have_posts()) { $multislides->the_post(); $_i++; if (class_exists('Woocommerce')) { global $product; if (!$product->is_visible()) { continue; } echo '<div class="slide product-slide ' . $last . '">'; woocommerce_get_template_part('content', 'product'); echo '</div><!-- slide -->'; } if (class_exists('WP_eCommerce')) { $post_id = get_the_ID(); $post_name = get_the_title(); $post_image = etheme_get_image(null, $image_width, $image_height, $crop, $post_id); if (!$post_image && $image_default) { $post_image = $image_default; } $post_url = get_permalink(); if (class_exists('WP_eCommerce')) { $normal_price = class_exists('WP_eCommerce') ? the_product_price($post_id) : false; $post_price = class_exists('WP_eCommerce') ? the_product_price($post_id, true) : ''; } echo '<div class="slide product-slide ' . $last . '">'; echo '<a href="' . $post_url . '" class="product-image"><div class="img-wrapper"><img alt="" src="' . $post_image . '" /></div></a>'; echo '<span class="product-name"><a href="' . $post_url . '">' . esc_attr($post_name) . '</a></span>'; if ($normal_price != $post_price) { echo '<div class="price sale">'; echo '<p class="oldprice-p pricedisplay"><span class="oldprice">' . $normal_price . '</span></p>'; echo '<p class="pricedisplay"><span class="currentprice pricedisplay">' . $post_price . '</span></p>'; echo '</div> '; } else { echo '<div class="price">'; echo '<span>' . $post_price . '</span>'; echo '</div>'; } wpsc_the_product(); if (wpsc_product_external_link($post_id) != '') { $action = wpsc_product_external_link($post_id); } else { $action = htmlentities(wpsc_this_page_url(), ENT_QUOTES, 'UTF-8'); } echo '<div class="btn-cont">'; echo '<form class="product_form" enctype="multipart/form-data" action="' . $action . '" method="post" name="product_' . $post_id . '" id="product_' . $post_id . '" >'; echo '<input type="hidden" value="add_to_cart" name="wpsc_ajax_action"/>'; echo '<input type="hidden" value="' . $post_id . '" name="product_id"/>'; if (false) { echo '<button class="button" type="submit" id="product_' . $post_id . '_submit_button"><span>' . __('Add To Cart', 'wpsc') . '</span></button>'; } else { echo '<a href="' . $post_url . '" class="button add-to-cart sml"><span>' . __('Read more', 'wpsc') . '</span></a>'; } echo '</form>'; echo '</div>'; echo '</div><!-- slide -->'; } unset($last); } echo '</div><!-- slider -->'; echo '</div><!-- carousel -->'; if ($_i > 1) { echo '<div class="prev arrow' . $box_id . '" style="cursor: pointer; "> </div>'; echo '<div class="next arrow' . $box_id . '" style="cursor: pointer; "> </div>'; } echo '</div><!-- product-slider -->'; } wp_reset_query(); if (@$_i > 1) { echo ' <script type="text/javascript"> jQuery(".arrow' . $box_id . '.prev").addClass("disabled"); jQuery(".carousel").iosSlider({ desktopClickDrag: true, snapToChildren: true, infiniteSlider: false, navNextSelector: ".arrow' . $box_id . '.next", navPrevSelector: ".arrow' . $box_id . '.prev", lastSlideOffset: 3, onFirstSlideComplete: function(){ jQuery(".arrow' . $box_id . '.prev").addClass("disabled"); }, onLastSlideComplete: function(){ jQuery(".arrow' . $box_id . '.next").addClass("disabled"); }, onSlideChange: function(){ jQuery(".arrow' . $box_id . '.next").removeClass("disabled"); jQuery(".arrow' . $box_id . '.prev").removeClass("disabled"); } }); </script> '; } }
/** * Product Specials Widget content function * * Displays the latest products. * * @todo Remove marketplace theme specific code and maybe replce with a filter for the image output? (not required if themeable as above) * * Changes made in 3.8 that may affect users: * * 1. The product title link text does now not have a bold tag, it should be styled via css. * 2. <br /> tags have been ommitted. Padding and margins should be applied via css. * 3. Each product is enclosed in a <div> with a 'wpec-special-product' class. * 4. The product list is enclosed in a <div> with a 'wpec-special-products' class. * 5. Function now expect a single paramter with an array of options (used to be a string which prepended the output). */ function wpsc_specials($args = null, $instance) { global $wpdb; $args = wp_parse_args((array) $args, array('number' => 5)); $siteurl = get_option('siteurl'); if (!($number = (int) $instance['number'])) { $number = 5; } $show_thumbnails = isset($instance['show_thumbnails']) ? (bool) $instance['show_thumbnails'] : FALSE; $show_description = isset($instance['show_description']) ? (bool) $instance['show_description'] : FALSE; $excludes = wpsc_specials_excludes(); $args = array('post_type' => 'wpsc-product', 'caller_get_posts' => 1, 'post_status' => 'publish', 'post_parent' => 0, 'post__not_in' => $excludes, 'posts_per_page' => $number); $special_products = query_posts($args); $output = ''; $product_ids[] = array(); if (count($special_products) > 0) { list($wp_query, $special_products) = array($special_products, $wp_query); // swap the wpsc_query object while (wpsc_have_products()) { wpsc_the_product(); if (!in_array(wpsc_the_product_id(), $product_ids)) { $product_ids[] = wpsc_the_product_id(); if ($show_thumbnails) { if (wpsc_the_product_thumbnail()) { ?> <a rel="<?php echo str_replace(array(" ", '"', "'", '"', '''), array("_", "", "", "", ''), wpsc_the_product_title()); ?> " href="<?php echo wpsc_the_product_permalink(); ?> "> <img class="product_image" id="product_image_<?php echo wpsc_the_product_id(); ?> " alt="<?php echo wpsc_the_product_title(); ?> " title="<?php echo wpsc_the_product_title(); ?> " src="<?php echo wpsc_the_product_thumbnail(); ?> "/> </a> <?php } else { ?> <a href="<?php echo wpsc_the_product_permalink(); ?> "> <img class="no-image" id="product_image_<?php echo wpsc_the_product_id(); ?> " alt="No Image" title="<?php echo wpsc_the_product_title(); ?> " src="<?php echo WPSC_URL; ?> /wpsc-theme/wpsc-images/noimage.png" width="<?php esc_attr_e(get_option('product_image_width')); ?> " height="<?php esc_attr_e(get_option('product_image_height')); ?> " /> </a> <?php } ?> <?php } // close show thumbnails ?> <br /> <span id="special_product_price_<?php echo wpsc_the_product_id(); ?> "> <!-- price display --> <?php echo wpsc_the_product_price(); ?> </span><br /> <strong><a class="wpsc_product_title" href="<?php echo wpsc_product_url(wpsc_the_product_id(), false); ?> "><?php echo wpsc_the_product_title(); ?> </a></strong><br /> <?php if ($show_description) { ?> <div class="wpsc-special-description"> <?php echo wpsc_the_product_description(); ?> </div> <?php } // close show description ?> <?php } } list($wp_query, $special_products) = array($special_products, $wp_query); // swap the wpsc_query object wp_reset_query(); } }
public function send_product() { if (wpsc_is_single_product()) { $product = array(); while (wpsc_have_products()) { wpsc_the_product(); $product_id = (int) wpsc_the_product_id(); $product['url'] = (string) wpsc_the_product_permalink(); $product['product_id'] = $product_id; $product['name'] = (string) wpsc_the_product_title(); $product['image_url'] = (string) wpsc_the_product_image('', '', $product_id); if (wpsc_product_has_variations($product_id)) { $price = $this->get_lowest_product_variation_price($product_id); } else { $price = wpsc_calculate_price($product_id, false, true); } $product['price'] = $this->format_price($price); if (wpsc_product_has_stock($product_id)) { $product['stock'] = 1; } else { $product['stock'] = 0; } $product['categories'] = array(); $category_terms = wp_get_product_categories($product_id); foreach ($category_terms as $category_term) { $category_path = $category_term; if (!empty($category_path)) { $product['category_name'] = $category_term->name; $product['category_id'] = $category_term->term_id; } } if (wpsc_product_has_variations($product_id)) { $list_price = $this->get_lowest_product_variation_price($product_id); } else { $list_price = wpsc_calculate_price($product_id, false, false); } $product['list_price'] = $this->format_price($list_price); } if (!empty($product)) { $this->render('sendProduct', array('product' => $product)); } } }