Example #1
0
 /**
  * @param $query \WP_Query
  */
 public function setTypeFilter($query)
 {
     if (isset($_GET['product_type']) && in_array($_GET['product_type'], array_keys($this->type->getEnabledTypes()))) {
         $meta = $query->meta_query;
         $meta[] = array('key' => 'type', 'value' => $_GET['product_type']);
         $query->set('meta_query', $meta);
     }
 }
Example #2
0
 /**
  * Displays the product data box, tabbed, with several panels covering price, stock etc
  *
  * @since        1.0
  */
 public function box()
 {
     $post = $this->wp->getGlobalPost();
     /** @var \Jigoshop\Entity\Product $product */
     $product = $this->productService->findForPost($post);
     $types = array();
     foreach ($this->type->getEnabledTypes() as $type) {
         /** @var $type Types\Product\Type */
         $types[$type->getId()] = $type->getName();
     }
     $taxClasses = array();
     foreach ($this->options->get('tax.classes') as $class) {
         $taxClasses[$class['class']] = $class['label'];
     }
     $attributes = array('' => array('label' => ''), '-1' => array('label' => __('Custom attribute', 'jigoshop')));
     foreach ($this->productService->findAllAttributes() as $attribute) {
         /** @var $attribute Attribute */
         $attributes[$attribute->getId()] = array('label' => $attribute->getLabel(), 'disabled' => $product->hasAttribute($attribute->getId()));
     }
     $tabs = $this->wp->applyFilters('jigoshop\\admin\\product\\tabs', array('general' => array('product' => $product), 'advanced' => array('product' => $product, 'taxClasses' => $taxClasses), 'attributes' => array('product' => $product, 'availableAttributes' => $attributes, 'attributes' => $product->getAttributes()), 'stock' => array('product' => $product), 'sales' => array('product' => $product)), $product);
     Render::output('admin/product/box', array('product' => $product, 'types' => $types, 'menu' => $this->menu, 'tabs' => $tabs, 'current_tab' => 'general'));
 }