PluginProbe
Tiered Pricing Table for WooCommerce / 8.1.0
Tiered Pricing Table for WooCommerce v8.1.0
8.1.0 8.0.2 7.1.7 7.1.5 7.1.4 7.1.1 6.5.0 6.4.0 6.1.0 trunk 1.0 1.1 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.2.0 2.2.1 2.2.2 2.2.3 2.3.0 2.3.1 2.3.2 All 92 releases
← All changes | src/Addons/GlobalTieredPricing/CPT/Columns/Settings.php +35 -53 6.1.0 → 8.1.0 View file →
@@ -1,67 +1,49 @@
1 1 <?php namespace TierPricingTable\Addons\GlobalTieredPricing\CPT\Columns;
2 2
3 3 use TierPricingTable\Addons\GlobalTieredPricing\GlobalPricingRule;
4 -use TierPricingTable\CalculationLogic;
5 4
5 +/**
6 + * Settings that differ from the defaults: how the rule meets product-level pricing, and whatever
7 + * add-ons append (tax settings, for instance) through the after_tab_render action.
8 + */
6 9 class Settings {
7 -
10 +
8 11 public function getName(): string {
9 - return __( 'Priority Settings', 'tier-pricing-table' );
12 + return __( 'Settings', 'tier-pricing-table' );
10 13 }
11 -
14 +
12 15 public function render( GlobalPricingRule $rule ) {
13 -
14 - $prioritySlug = $rule->getSettings()->getPriorityType();
15 -
16 - if ( $prioritySlug === 'default' ) {
17 - $realPriority = CalculationLogic::globalRulesOverrideProductLevelRules() ? 'override' : 'prefer-product';
18 - } else {
19 - $realPriority = $prioritySlug;
20 - }
21 -
22 - $priorities = array(
23 - 'default' => __( 'Global', 'tier-pricing-table' ),
24 - 'prefer-product' => __( 'Prefer Product', 'tier-pricing-table' ),
25 - 'prefer-role-based-product' => __( 'Prefer Product', 'tier-pricing-table' ),
26 - 'override' => __( 'Override', 'tier-pricing-table' ),
27 - 'flexible' => __( 'Flexible', 'tier-pricing-table' ),
16 + $settings = $rule->getSettings();
17 + $labels = array(
18 + 'prefer-product' => __( 'prefer product', 'tier-pricing-table' ),
19 + 'prefer-role-based-product' => __( 'prefer product role prices', 'tier-pricing-table' ),
20 + 'override' => __( 'override product', 'tier-pricing-table' ),
28 21 );
29 -
30 -
31 - if ( ! array_key_exists( $prioritySlug, $priorities ) ) {
32 - return;
22 +
23 + switch ( $settings->getPriorityType() ) {
24 + case 'prefer-product':
25 + $this->renderTag( __( 'Prefers product pricing', 'tier-pricing-table' ) );
26 + break;
27 + case 'override':
28 + $this->renderTag( __( 'Overrides product pricing', 'tier-pricing-table' ) );
29 + break;
30 + case 'flexible':
31 + $this->renderTag( __( 'Custom priorities', 'tier-pricing-table' ), sprintf(
32 + /* translators: 1, 2, 3: the three priority choices */
33 + __( 'Base prices: %1$s. Tiers: %2$s. Quantity limits: %3$s.', 'tier-pricing-table' ),
34 + $labels[ $settings->getRegularPricingPriority() ] ?? $settings->getRegularPricingPriority(),
35 + $labels[ $settings->getTieredPricingPriority() ] ?? $settings->getTieredPricingPriority(),
36 + $labels[ $settings->getQuantityLimitsPriority() ] ?? $settings->getQuantityLimitsPriority()
37 + ) );
38 + break;
39 + default:
40 + echo '<span class="tpt-rules-list__muted">' . esc_html__( 'Default', 'tier-pricing-table' ) . '</span>';
33 41 }
34 -
42 + }
43 +
44 + public static function renderTag( string $text, string $title = '' ) {
35 45 ?>
36 - <div>
37 - <p>
38 - <?php esc_html_e( 'Priority type', 'tier-pricing-table' ); ?>:
39 - <b><?php echo esc_html( $priorities[ $realPriority ] ); ?></b>
40 -
41 - <?php if ( $prioritySlug === 'flexible' ) : ?>
42 - <br>
43 - <br>
44 - <?php esc_html_e( 'Regular prices priority' ); ?>:
45 - <br>
46 - <b>
47 - <?php echo esc_html( $priorities[ $rule->getSettings()->getRegularPricingPriority() ] ); ?>
48 - </b>
49 - <br>
50 - <br>
51 - <?php esc_html_e( 'Tiered pricing priority' ); ?>:
52 - <b>
53 - <?php echo esc_html( $priorities[ $rule->getSettings()->getTieredPricingPriority() ] ); ?>
54 - </b>
55 - <br>
56 - <br>
57 - <?php esc_html_e( 'Quantity Limits Priority' ); ?>:
58 - <b>
59 - <?php echo esc_html( $priorities[ $rule->getSettings()->getQuantityLimitsPriority() ] ); ?>
60 - </b>
61 - <?php endif; ?>
62 - </p>
63 - </div>
64 -
46 + <span class="tpt-rules-list__tag" <?php echo $title ? 'title="' . esc_attr( $title ) . '"' : ''; ?>><?php echo esc_html( $text ); ?></span>
65 47 <?php
66 48 }
67 49 }