/** * Returns a pricing rules HTML table * * @since 3.0 * @param array $rules array of pricing rules * @param WC_Price_Calculator_Settings $settings the calculator settings object * @return string pricing rules HTML table */ public static function get_pricing_rules_table($rules, $settings) { $html = '<table class="wc-measurement-price-calculator-pricing-table">'; $html .= '<thead><tr><th>' . sprintf(__('Range (%s)', WC_Measurement_Price_Calculator::TEXT_DOMAIN), '<span class="units">' . __($settings->get_pricing_label(), WC_Measurement_Price_Calculator::TEXT_DOMAIN) . '</span>') . '</th>'; $html .= '<th>' . sprintf(__('Price (%s)', WC_Measurement_Price_Calculator::TEXT_DOMAIN), '<span class="units">' . get_woocommerce_currency_symbol() . '/' . __($settings->get_pricing_label(), WC_Measurement_Price_Calculator::TEXT_DOMAIN) . '</span>') . '</th></tr></thead>'; $html .= '<tbody>'; foreach ($rules as $rule) { // format the range as "1 ft", "1 - 3 ft" or "1+ ft" $range = $rule['range_start']; if ('' === $rule['range_end']) { $range .= '+'; } elseif ($rule['range_end'] != $rule['range_start']) { $range .= ' - ' . $rule['range_end']; } $range .= ' ' . __($settings->get_pricing_label(), WC_Measurement_Price_Calculator::TEXT_DOMAIN); $html .= sprintf('<tr><td>%s</td><td>%s</td></tr>', $range, $settings->get_pricing_rule_price_html($rule)); } $html .= '</tbody>'; $html .= '</table>'; return $html; }