1, ); /** * P24_Product_Simple constructor. * * @param int $product Id of product. */ public function __construct( $product = 0 ) { /* For backward compatibility only. */ $this->product_type = self::TYPE; parent::__construct( $product ); } /** * Return product type. * * @return string */ public function get_type() { return self::TYPE; } /** * Get days. * * @return int */ public function get_days() { $days = (int) $this->get_prop( 'days' ); if ( $days < 1 ) { $days = 1; } return $days; } /** * Set_days. * * @param int $days Number of days. */ public function set_days( $days ) { $days = (int) $days; if ( $days < 1 ) { $days = 1; } $this->set_prop( 'days', $days ); } /** * Check if product is possible to buy. * * @return bool */ private function possible_to_buy() { global $userdata; if ( ! $userdata ) { /* If the user in not registered, he cannot buy the product. */ return false; } elseif ( ! $this->is_purchasable() ) { return false; } elseif ( ! $this->is_in_stock() ) { return false; } else { return true; } } /** * Get the add to url used mainly in loops. * * @return string */ public function add_to_cart_url() { $possible_to_buy = $this->possible_to_buy(); $url = $possible_to_buy ? remove_query_arg( 'added-to-cart', add_query_arg( array( 'add-to-cart' => $this->get_id(), ), ( function_exists( 'is_feed' ) && is_feed() ) || ( function_exists( 'is_404' ) && is_404() ) ? $this->get_permalink() : '' ) ) : $this->get_permalink(); return apply_filters( 'woocommerce_product_add_to_cart_url', $url, $this ); } /** * Get the add to cart button text. * * @return string */ public function add_to_cart_text() { $possible_to_buy = $this->possible_to_buy(); $text = $possible_to_buy ? __( 'Add to cart', 'woocommerce' ) : __( 'Read more', 'woocommerce' ); return apply_filters( 'woocommerce_product_add_to_cart_text', $text, $this ); } /** * Get the add to cart button text description - used in aria tags. * * @return string */ public function add_to_cart_description() { $possible_to_buy = $this->possible_to_buy(); /* translators: %s: Product title */ $text = $possible_to_buy ? __( 'Add “%s” to your cart', 'woocommerce' ) : __( 'Read more about “%s”', 'woocommerce' ); return apply_filters( 'woocommerce_product_add_to_cart_description', sprintf( $text, $this->get_name() ), $this ); } }