PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 2.13.0
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v2.13.0
4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.11.1 1.11.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.15.1 2.16.0 2.16.1 2.16.2 2.16.3 2.17.0 2.17.1 2.17.2 2.18.0 2.19.0 2.19.2 2.19.3 2.19.4 2.2.0 2.2.1 2.20.0 2.20.1 2.20.2 2.20.3 2.20.4 2.20.5 2.20.6 2.21.0 2.22.0 2.22.1 2.23.0 2.24.0 2.25.0 2.25.1 2.25.2 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.29.1 2.29.2 2.29.3 2.29.4 2.3.0 2.3.1 2.30.0 2.31.0 2.31.1 2.31.2 2.31.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.40.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.9.0 3.0.0 3.0.0-RC1 3.0.0-RC2 3.0.0-beta1 3.0.0-beta2 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.10.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.1 3.13.2 3.13.3 3.13.4 3.14.0 3.15.0 3.15.1 3.15.2 3.15.3 3.15.4 3.15.5 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.16.6 3.16.7 3.16.8 3.17.0 3.17.1 3.17.2 3.17.3 3.17.4 3.17.5 3.17.6 3.18.0 3.19.0 3.19.1 3.19.2 3.2.0 3.2.1 3.2.2 3.20.0 3.20.1 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 trunk 4.1.0 0.2.19.1 4.1.1 1.0.0 4.2.0 1.0.1 1.0.2
surecart / packages / blocks / Blocks / PriceChoice / Block.php
surecart / packages / blocks / Blocks / PriceChoice Last commit date
Block.php 2 years ago block.json 3 years ago
Block.php
63 lines
1 <?php
2
3 namespace SureCartBlocks\Blocks\PriceChoice;
4
5 use SureCart\Models\Price;
6 use SureCartBlocks\Blocks\BaseBlock;
7
8 /**
9 * Checkout block
10 */
11 class Block extends BaseBlock {
12 /**
13 * Keep track of number of instances.
14 *
15 * @var integer
16 */
17 public static $instance = 0;
18
19 /**
20 * Render the block
21 *
22 * @param array $attributes Block attributes.
23 * @param string $content Post content.
24 *
25 * @return string
26 */
27 public function render( $attributes, $content ) {
28 $price = Price::with( array( 'product' ) )->find( $attributes['price_id'] );
29
30 // empty check.
31 if ( is_wp_error( $price ) || empty( $price->id ) ) {
32 return null;
33 }
34
35 self::$instance++;
36
37 \SureCart::assets()->addComponentData(
38 'sc-price-choice',
39 '#sc-price-choice-' . (int) self::$instance,
40 [
41 'price' => $price->toArray(),
42 'product' => $price->product->toArray(),
43 ]
44 );
45
46 ob_start(); ?>
47 <sc-price-choice
48 id="sc-price-choice-<?php echo (int) self::$instance; ?>"
49 price-id="<?php echo esc_attr( $attributes['price_id'] ?? '' ); ?>"
50 type="<?php echo esc_attr( $attributes['type'] ?? 'radio' ); ?>"
51 label="<?php echo esc_attr( $attributes['label'] ?? '' ); ?>"
52 description="<?php echo esc_attr( $attributes['description'] ?? '' ); ?>"
53 checked="<?php echo esc_attr( ! empty( $attributes['checked'] ) ? 'true' : 'false' ); ?>"
54 show-label="<?php echo esc_attr( ! empty( $attributes['show_label'] ) ? 'true' : 'false' ); ?>"
55 show-price="<?php echo esc_attr( ! empty( $attributes['show_price'] ) ? 'true' : 'false' ); ?>"
56 show-control="<?php echo esc_attr( ! empty( $attributes['show_control'] ) ? 'true' : 'false' ); ?>"
57 quantity="<?php echo esc_attr( $attributes['quantity'] ?? '1' ); ?>"
58 ></sc-price-choice>
59 <?php
60 return ob_get_clean();
61 }
62 }
63