本文整理汇总了PHP中WC_Product::get_related方法的典型用法代码示例。如果您正苦于以下问题:PHP WC_Product::get_related方法的具体用法?PHP WC_Product::get_related怎么用?PHP WC_Product::get_related使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WC_Product
的用法示例。
在下文中一共展示了WC_Product::get_related方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: get_related_products
public function get_related_products($product_item, $intro)
{
$posts_per_page = $intro->get_posts_per_page();
$product = new WC_Product($product_item);
$related = $product->get_related($posts_per_page);
if (sizeof($related) == 0) {
return;
}
$args = apply_filters("woocommerce_related_products_args", array("post_type" => "product", "ignore_sticky_posts" => 1, "no_found_rows" => 1, "posts_per_page" => $posts_per_page, "orderby" => get_option("woocommerce_default_catalog_orderby"), "post__in" => $related, "post__not_in" => array($product_item->post->ID)));
$loop = new WP_Query($args);
$prods = array();
while ($loop->have_posts()) {
$loop->the_post();
global $product;
$prod = $this->get_product_query($intro, array(product_name => $product->post->post_name));
array_push($prods, new JSON_API_Product_Model($prod));
}
$intro->set_value($this, "related", $prods);
}
示例2: get_product_data
/**
* Get standard product data that applies to every product type
*
* @since 2.1
* @param WC_Product $product
* @return WC_Product
*/
private function get_product_data($product)
{
return array('title' => $product->get_title(), 'id' => (int) $product->is_type('variation') ? $product->get_variation_id() : $product->id, 'created_at' => $this->server->format_datetime($product->get_post_data()->post_date_gmt), 'updated_at' => $this->server->format_datetime($product->get_post_data()->post_modified_gmt), 'type' => $product->product_type, 'status' => $product->get_post_data()->post_status, 'downloadable' => $product->is_downloadable(), 'virtual' => $product->is_virtual(), 'permalink' => $product->get_permalink(), 'sku' => $product->get_sku(), 'price' => $product->get_price(), 'regular_price' => $product->get_regular_price(), 'sale_price' => $product->get_sale_price() ? $product->get_sale_price() : null, 'price_html' => $product->get_price_html(), 'taxable' => $product->is_taxable(), 'tax_status' => $product->get_tax_status(), 'tax_class' => $product->get_tax_class(), 'managing_stock' => $product->managing_stock(), 'stock_quantity' => $product->get_stock_quantity(), 'in_stock' => $product->is_in_stock(), 'backorders_allowed' => $product->backorders_allowed(), 'backordered' => $product->is_on_backorder(), 'sold_individually' => $product->is_sold_individually(), 'purchaseable' => $product->is_purchasable(), 'featured' => $product->is_featured(), 'visible' => $product->is_visible(), 'catalog_visibility' => $product->visibility, 'on_sale' => $product->is_on_sale(), 'product_url' => $product->is_type('external') ? $product->get_product_url() : '', 'button_text' => $product->is_type('external') ? $product->get_button_text() : '', 'weight' => $product->get_weight() ? $product->get_weight() : null, 'dimensions' => array('length' => $product->length, 'width' => $product->width, 'height' => $product->height, 'unit' => get_option('woocommerce_dimension_unit')), 'shipping_required' => $product->needs_shipping(), 'shipping_taxable' => $product->is_shipping_taxable(), 'shipping_class' => $product->get_shipping_class(), 'shipping_class_id' => 0 !== $product->get_shipping_class_id() ? $product->get_shipping_class_id() : null, 'description' => wpautop(do_shortcode($product->get_post_data()->post_content)), 'short_description' => apply_filters('woocommerce_short_description', $product->get_post_data()->post_excerpt), 'reviews_allowed' => 'open' === $product->get_post_data()->comment_status, 'average_rating' => wc_format_decimal($product->get_average_rating(), 2), 'rating_count' => (int) $product->get_rating_count(), 'related_ids' => array_map('absint', array_values($product->get_related())), 'upsell_ids' => array_map('absint', $product->get_upsells()), 'cross_sell_ids' => array_map('absint', $product->get_cross_sells()), 'parent_id' => $product->post->post_parent, 'categories' => wp_get_post_terms($product->id, 'product_cat', array('fields' => 'names')), 'tags' => wp_get_post_terms($product->id, 'product_tag', array('fields' => 'names')), 'images' => $this->get_images($product), 'featured_src' => (string) wp_get_attachment_url(get_post_thumbnail_id($product->is_type('variation') ? $product->variation_id : $product->id)), 'attributes' => $this->get_attributes($product), 'downloads' => $this->get_downloads($product), 'download_limit' => (int) $product->download_limit, 'download_expiry' => (int) $product->download_expiry, 'download_type' => $product->download_type, 'purchase_note' => wpautop(do_shortcode(wp_kses_post($product->purchase_note))), 'total_sales' => metadata_exists('post', $product->id, 'total_sales') ? (int) get_post_meta($product->id, 'total_sales', true) : 0, 'variations' => array(), 'parent' => array(), 'grouped_products' => array());
}
示例3: get_product_data
//.........这里部分代码省略.........
$product_data['on_sale'] = $product->is_on_sale();
}
if (!$fields || $fields && in_array('product_url', $field_list)) {
$product_data['product_url'] = $product->is_type('external') ? $product->get_product_url() : '';
}
if (!$fields || $fields && in_array('button_text', $field_list)) {
$product_data['button_text'] = $product->is_type('external') ? $product->get_button_text() : '';
}
if (!$fields || $fields && in_array('weight', $field_list)) {
$product_data['weight'] = $product->get_weight() ? $product->get_weight() : null;
}
if (!$fields || $fields && in_array('dimensions', $field_list)) {
$product_data['dimensions'] = array('length' => $product->length, 'width' => $product->width, 'height' => $product->height, 'unit' => get_option('woocommerce_dimension_unit'));
}
if (!$fields || $fields && in_array('shipping_required', $field_list)) {
$product_data['shipping_required'] = $product->needs_shipping();
}
if (!$fields || $fields && in_array('shipping_taxable', $field_list)) {
$product_data['shipping_taxable'] = $product->is_shipping_taxable();
}
if (!$fields || $fields && in_array('shipping_class', $field_list)) {
$product_data['shipping_class'] = $product->get_shipping_class();
}
if (!$fields || $fields && in_array('shipping_class_id', $field_list)) {
$product_data['shipping_class_id'] = 0 !== $product->get_shipping_class_id() ? $product->get_shipping_class_id() : null;
}
if (!$fields || $fields && in_array('description', $field_list)) {
$product_data['description'] = wpautop(do_shortcode($product->get_post_data()->post_content));
}
if (!$fields || $fields && in_array('short_description', $field_list)) {
$product_data['short_description'] = apply_filters('woocommerce_short_description', $product->get_post_data()->post_excerpt);
}
if (!$fields || $fields && in_array('reviews_allowed', $field_list)) {
$product_data['reviews_allowed'] = 'open' === $product->get_post_data()->comment_status;
}
if (!$fields || $fields && in_array('average_rating', $field_list)) {
$product_data['average_rating'] = wc_format_decimal($product->get_average_rating(), 2);
}
if (!$fields || $fields && in_array('rating_count', $field_list)) {
$product_data['rating_count'] = (int) $product->get_rating_count();
}
if (!$fields || $fields && in_array('related_ids', $field_list)) {
$product_data['related_ids'] = array_map('absint', array_values($product->get_related()));
}
if (!$fields || $fields && in_array('upsell_ids', $field_list)) {
$product_data['upsell_ids'] = array_map('absint', $product->get_upsells());
}
if (!$fields || $fields && in_array('cross_sell_ids', $field_list)) {
$product_data['cross_sell_ids'] = array_map('absint', $product->get_cross_sells());
}
if (!$fields || $fields && in_array('parent_id', $field_list)) {
$product_data['parent_id'] = $product->post->post_parent;
}
if (!$fields || $fields && in_array('categories', $field_list)) {
$product_data['categories'] = wp_get_post_terms($product->id, 'product_cat', array('fields' => 'names'));
}
if (!$fields || $fields && in_array('tags', $field_list)) {
$product_data['tags'] = wp_get_post_terms($product->id, 'product_tag', array('fields' => 'names'));
}
if (!$fields || $fields && in_array('images', $field_list)) {
$product_data['images'] = $this->get_images($product);
}
if (!$fields || $fields && in_array('featured_src', $field_list)) {
$product_data['featured_src'] = (string) wp_get_attachment_url(get_post_thumbnail_id($product->is_type('variation') ? $product->variation_id : $product->id));
}
if (!$fields || $fields && in_array('attributes', $field_list)) {
$product_data['attributes'] = $this->get_attributes($product);
}
if (!$fields || $fields && in_array('downloads', $field_list)) {
$product_data['downloads'] = $this->get_downloads($product);
}
if (!$fields || $fields && in_array('download_limit', $field_list)) {
$product_data['download_limit'] = (int) $product->download_limit;
}
if (!$fields || $fields && in_array('download_expiry', $field_list)) {
$product_data['download_expiry'] = (int) $product->download_expiry;
}
if (!$fields || $fields && in_array('download_type', $field_list)) {
$product_data['download_type'] = $product->download_type;
}
if (!$fields || $fields && in_array('purchase_note', $field_list)) {
$product_data['purchase_note'] = wpautop(do_shortcode(wp_kses_post($product->purchase_note)));
}
if (!$fields || $fields && in_array('total_sales', $field_list)) {
$product_data['total_sales'] = metadata_exists('post', $product->id, 'total_sales') ? (int) get_post_meta($product->id, 'total_sales', true) : 0;
}
if (!$fields || $fields && in_array('variations', $field_list)) {
$product_data['variations'] = array();
}
if (!$fields || $fields && in_array('parent', $field_list)) {
$product_data['parent'] = array();
}
if (!$fields || $fields && in_array('grouped_products', $field_list)) {
$product_data['grouped_products'] = array();
}
if (!$fields || $fields && in_array('menu_order', $field_list)) {
$product_data['menu_order'] = $product->post->menu_order;
}
return $product_data;
}