Prep Plugin for release on WordPress.org
Escape everything that should be escaped. Add nonce checks where needed. Sanitize all inputs. Apply Code style changes across the codebase. Correct many deprecation notices. Optimize load order of many filters.
This commit is contained in:
@ -4,7 +4,7 @@
|
||||
*
|
||||
* @since 2.0.0
|
||||
*/
|
||||
|
||||
//phpcs:disable WordPress.NamingConventions.PrefixAllGlobals
|
||||
$duration = $duration ?: 1;
|
||||
$duration_unit = $duration_unit ?: 'month';
|
||||
|
||||
@ -14,58 +14,39 @@ $product_variation = $product->get_as_variation($duration, $duration_unit);
|
||||
|
||||
if (false !== $product_variation) {
|
||||
$product = $product_variation;
|
||||
} // end if;
|
||||
|
||||
}
|
||||
?>
|
||||
<div class="wu-relative wu-flex wu-rounded-lg wu-border wu-border-gray-300 wu-bg-white wu-border-solid wu-shadow-sm wu-px-6 wu-py-4 wu-items-center wu-justify-between">
|
||||
<div class="wu-flex wu-items-center">
|
||||
|
||||
<?php
|
||||
if ($display_product_image) :
|
||||
$image = $product->get_featured_image('thumbnail');
|
||||
?>
|
||||
|
||||
<?php if ($display_product_image) : ?>
|
||||
<?php $image = $product->get_featured_image('thumbnail'); ?>
|
||||
<?php if ($image) : ?>
|
||||
|
||||
<div class="wu-w-thumb wu-h-thumb wu-rounded wu-overflow-hidden wu-text-center wu-inline-block wu-mr-4">
|
||||
<img src="<?php echo esc_attr($image); ?>" class="wu-h-full">
|
||||
</div>
|
||||
|
||||
<div class="wu-w-thumb wu-h-thumb wu-rounded wu-overflow-hidden wu-text-center wu-inline-block wu-mr-4">
|
||||
<img src="<?php echo esc_attr($image); ?>" class="wu-h-full">
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="wu-text-sm">
|
||||
<span class="wu-font-semibold wu-block wu-text-gray-900"><?php echo empty($name) ? esc_html($product->get_name()) : esc_html($name); ?></span>
|
||||
<?php if ($display_product_description && $product->get_description()) : ?>
|
||||
<div class="wu-text-gray-600">
|
||||
<p class="sm:wu-inline-block wu-my-1"><?php echo esc_html($product->get_description()); ?></p>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div class="wu-text-gray-600">
|
||||
<p class="sm:wu-inline"><?php echo esc_html($product->get_price_description()); ?></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php if (! $parent || ! method_exists($parent, 'has_product')) : ?>
|
||||
<div v-if="!($parent.has_product('<?php echo esc_js($product->get_id()); ?>') || $parent.has_product('<?php echo esc_js($product->get_slug()); ?>'))" class="wu-ml-2">
|
||||
<a href="#" @click.prevent="$parent.add_product('<?php echo esc_js($product->get_id()); ?>')" class="button btn"><?php esc_html_e('Add to Cart', 'wp-multisite-waas'); ?></a>
|
||||
</div>
|
||||
<?php else : ?>
|
||||
<div v-else class="wu-ml-2">
|
||||
<a href="#" @click.prevent="$parent.remove_product('<?php echo esc_js($product->get_id()); ?>', '<?php echo esc_js($product->get_slug()); ?>')" class="button btn"><?php esc_html_e('Remove', 'wp-multisite-waas'); ?></a>
|
||||
<input type="hidden" name="products[]" value="<?php echo esc_attr($product->get_id()); ?>">
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="wu-text-sm">
|
||||
<span class="wu-font-semibold wu-block wu-text-gray-900"><?php echo empty($name) ? $product->get_name() : $name; ?></span>
|
||||
|
||||
<?php if ($display_product_description && $product->get_description()) : ?>
|
||||
<div class="wu-text-gray-600">
|
||||
<p class="sm:wu-inline-block wu-my-1">
|
||||
<?php echo $product->get_description(); ?>
|
||||
</p>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="wu-text-gray-600">
|
||||
<p class="sm:wu-inline">
|
||||
<?php echo $product->get_price_description(); ?>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="!($parent.has_product('<?php echo $product->get_id(); ?>') || $parent.has_product('<?php echo $product->get_slug(); ?>'))" class="wu-ml-2">
|
||||
<a href="#" @click.prevent="$parent.add_product('<?php echo $product->get_id(); ?>')" class="button btn"><?php _e('Add to Cart', 'wp-multisite-waas'); ?></a>
|
||||
</div>
|
||||
<div v-else class="wu-ml-2">
|
||||
<a href="#" @click.prevent="$parent.remove_product('<?php echo $product->get_id(); ?>', '<?php echo $product->get_slug(); ?>')" class="button btn"><?php _e('Remove', 'wp-multisite-waas'); ?></a>
|
||||
<input type="hidden" name="products[]" value="<?php echo $product->get_id(); ?>">
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="wu-absolute wu--inset-px wu-rounded-lg wu-border-solid wu-border-2 wu-pointer-events-none wu-top-0 wu-bottom-0 wu-right-0 wu-left-0"
|
||||
:class="($parent.has_product('<?php echo $product->get_id(); ?>') || $parent.has_product('<?php echo $product->get_slug(); ?>'))? 'wu-border-blue-500' : 'wu-border-transparent'"
|
||||
aria-hidden="true"
|
||||
>
|
||||
</div>
|
||||
<div class="wu-absolute wu--inset-px wu-rounded-lg wu-border-solid wu-pointer-events-none wu-top-0 wu-bottom-0 wu-right-0 wu-left-0" :class="($parent.has_product('<?php echo esc_js($product->get_id()); ?>') || $parent.has_product('<?php echo esc_js($product->get_slug()); ?>')) ? 'wu-border-blue-500' : 'wu-border-transparent'" aria-hidden="true"></div>
|
||||
</div>
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
<div v-show="!order" class="wu-bg-gray-100 wu-p-4 wu-text-center wu-border wu-border-solid wu-border-gray-300">
|
||||
|
||||
<?php _e('Generating Order Summary...', 'wp-multisite-waas'); ?>
|
||||
<?php esc_html_e('Generating Order Summary...', 'wp-multisite-waas'); ?>
|
||||
|
||||
</div>
|
||||
|
||||
@ -22,31 +22,31 @@
|
||||
<tr class="">
|
||||
|
||||
<th class="col-description">
|
||||
<?php _e('Description', 'wp-multisite-waas'); ?>
|
||||
<?php esc_html_e('Description', 'wp-multisite-waas'); ?>
|
||||
</th>
|
||||
|
||||
<?php if ('simple' === $table_columns) : ?>
|
||||
|
||||
<th class="col-total-gross">
|
||||
<?php _e('Subtotal', 'wp-multisite-waas'); ?>
|
||||
<?php esc_html_e('Subtotal', 'wp-multisite-waas'); ?>
|
||||
</th>
|
||||
|
||||
<?php else : ?>
|
||||
|
||||
<th class="col-total-net">
|
||||
<?php _e('Net Total', 'wp-multisite-waas'); ?>
|
||||
<?php esc_html_e('Net Total', 'wp-multisite-waas'); ?>
|
||||
</th>
|
||||
|
||||
<th class="col-total-vat-percentage">
|
||||
<?php _e('Discounts', 'wp-multisite-waas'); ?>
|
||||
<?php esc_html_e('Discounts', 'wp-multisite-waas'); ?>
|
||||
</th>
|
||||
|
||||
<th class="col-total-tax">
|
||||
<?php _e('Tax', 'wp-multisite-waas'); ?>
|
||||
<?php esc_html_e('Tax', 'wp-multisite-waas'); ?>
|
||||
</th>
|
||||
|
||||
<th class="col-total-gross">
|
||||
<?php _e('Gross Total', 'wp-multisite-waas'); ?>
|
||||
<?php esc_html_e('Gross Total', 'wp-multisite-waas'); ?>
|
||||
</th>
|
||||
|
||||
<?php endif; ?>
|
||||
@ -61,7 +61,7 @@
|
||||
|
||||
<td class="" colspan="<?php echo esc_attr('simple' === $table_columns) ? 2 : 5; ?>" class="col-description">
|
||||
|
||||
<?php _e('No products in shopping cart.', 'wp-multisite-waas'); ?>
|
||||
<?php esc_html_e('No products in shopping cart.', 'wp-multisite-waas'); ?>
|
||||
|
||||
</td>
|
||||
|
||||
@ -71,13 +71,13 @@
|
||||
|
||||
<td class="wu-py-2 col-description" v-show="line_item.recurring">
|
||||
|
||||
<?php printf(__('Subscription - %s', 'wp-multisite-waas'), '{{ line_item.title }}'); ?>
|
||||
<?php printf(esc_html__('Subscription - %s', 'wp-multisite-waas'), '{{ line_item.title }}'); ?>
|
||||
|
||||
<small v-if="line_item.type == 'product'" class="wu-ml-3 wu-text-xs">
|
||||
|
||||
<a href="#" class="wu-no-underline" v-on:click.prevent="remove_product(line_item.product_id, line_item.product_slug)">
|
||||
|
||||
<?php _e('Remove', 'wp-multisite-waas'); ?>
|
||||
<?php esc_html_e('Remove', 'wp-multisite-waas'); ?>
|
||||
|
||||
</a>
|
||||
|
||||
@ -93,7 +93,7 @@
|
||||
|
||||
<a href="#" class="wu-no-underline" v-on:click.prevent="remove_product(line_item.product_id, line_item.product_slug)">
|
||||
|
||||
<?php _e('Remove', 'wp-multisite-waas'); ?>
|
||||
<?php esc_html_e('Remove', 'wp-multisite-waas'); ?>
|
||||
|
||||
</a>
|
||||
|
||||
@ -167,7 +167,7 @@
|
||||
|
||||
<td>
|
||||
|
||||
<?php _e('Discounts', 'wp-multisite-waas'); ?>
|
||||
<?php esc_html_e('Discounts', 'wp-multisite-waas'); ?>
|
||||
|
||||
</td>
|
||||
|
||||
@ -183,7 +183,7 @@
|
||||
|
||||
<td>
|
||||
|
||||
<?php _e('Taxes', 'wp-multisite-waas'); ?>
|
||||
<?php esc_html_e('Taxes', 'wp-multisite-waas'); ?>
|
||||
|
||||
</td>
|
||||
|
||||
@ -201,7 +201,7 @@
|
||||
|
||||
<td class="" colspan="<?php echo esc_attr('simple' === $table_columns) ? 1 : 4; ?>">
|
||||
|
||||
<strong><?php _e("Today's Grand Total", 'wp-multisite-waas'); ?></strong>
|
||||
<strong><?php esc_html_e("Today's Grand Total", 'wp-multisite-waas'); ?></strong>
|
||||
|
||||
</td>
|
||||
|
||||
@ -224,7 +224,7 @@
|
||||
<td class="" colspan="<?php echo esc_attr('simple' === $table_columns) ? 1 : 4; ?>">
|
||||
|
||||
<small>
|
||||
<?php printf(__('Total in %1$s - end of trial period.', 'wp-multisite-waas'), '{{ $moment.unix(order.dates.date_trial_end).format(`LL`) }}'); ?>
|
||||
<?php printf(esc_html__('Total in %1$s - end of trial period.', 'wp-multisite-waas'), '{{ $moment.unix(order.dates.date_trial_end).format(`LL`) }}'); ?>
|
||||
</small>
|
||||
|
||||
</td>
|
||||
@ -245,7 +245,7 @@
|
||||
|
||||
<li v-if="!order.has_trial && order.has_recurring">
|
||||
|
||||
<?php printf(__('Next fee of %1$s will be billed in %2$s.', 'wp-multisite-waas'), '{{ wu_format_money(order.totals.recurring.total) }}', '{{ $moment.unix(order.dates.date_next_charge).format(`LL`) }}'); ?>
|
||||
<?php printf(esc_html__('Next fee of %1$s will be billed in %2$s.', 'wp-multisite-waas'), '{{ wu_format_money(order.totals.recurring.total) }}', '{{ $moment.unix(order.dates.date_next_charge).format(`LL`) }}'); ?>
|
||||
|
||||
</li>
|
||||
|
||||
@ -253,12 +253,12 @@
|
||||
|
||||
<?php
|
||||
// translators: 1 is the discount name (e.g. Launch Promo). 2 is the coupon code (e.g PROMO10), 3 is the coupon amount and 4 is the discount total.
|
||||
printf(__('Discount applied: %1$s - %2$s (%3$s) %4$s', 'wp-multisite-waas'), '{{ order.discount_code.name }}', '{{ order.discount_code.code }}', '{{ order.discount_code.discount_description }}', '{{ wu_format_money(-order.totals.total_discounts) }}');
|
||||
printf(esc_html__('Discount applied: %1$s - %2$s (%3$s) %4$s', 'wp-multisite-waas'), '{{ order.discount_code.name }}', '{{ order.discount_code.code }}', '{{ order.discount_code.discount_description }}', '{{ wu_format_money(-order.totals.total_discounts) }}');
|
||||
?>
|
||||
|
||||
<a class="wu-no-underline wu-ml-2" href="#" v-on:click.prevent="discount_code = ''">
|
||||
|
||||
<?php _e('Remove', 'wp-multisite-waas'); ?>
|
||||
<?php esc_html_e('Remove', 'wp-multisite-waas'); ?>
|
||||
|
||||
</a>
|
||||
|
||||
|
@ -24,12 +24,12 @@ defined('ABSPATH') || exit;
|
||||
<?php foreach ($period_options as $index => $period_option) : ?>
|
||||
|
||||
<li class="wu-mx-2">
|
||||
<a
|
||||
:class="(duration == <?php echo $period_option['duration']; ?> && duration_unit == '<?php echo $period_option['duration_unit']; ?>') || (<?php echo json_encode(0 === $index); ?> && duration === '') ? 'wu-font-semibold active' : ''"
|
||||
v-on:click.prevent="duration = <?php echo $period_option['duration']; ?>; duration_unit = '<?php echo $period_option['duration_unit']; ?>'"
|
||||
<a
|
||||
:class="(duration == <?php echo esc_attr($period_option['duration']); ?> && duration_unit == '<?php echo esc_attr($period_option['duration_unit']); ?>') || (<?php echo wp_json_encode(0 === $index); ?> && duration === '') ? 'wu-font-semibold active' : ''"
|
||||
v-on:click.prevent="duration = <?php echo esc_attr($period_option['duration']); ?>; duration_unit = '<?php echo esc_attr($period_option['duration_unit']); ?>'"
|
||||
href="#"
|
||||
>
|
||||
<?php echo $period_option['label']; ?>
|
||||
<?php echo esc_html($period_option['label']); ?>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
@ -27,8 +27,8 @@ defined('ABSPATH') || exit;
|
||||
<?php foreach ($period_options as $index => $period_option) : ?>
|
||||
|
||||
<li>
|
||||
<a class="wu-text-center" :class="(duration == <?php echo $period_option['duration']; ?> && duration_unit == '<?php echo $period_option['duration_unit']; ?>') || (<?php echo json_encode(0 === $index); ?> && duration === '') ? 'active' : ''" v-on:click.prevent="duration = <?php echo $period_option['duration']; ?>; duration_unit = '<?php echo $period_option['duration_unit']; ?>'" href="#">
|
||||
<?php echo $period_option['label']; ?>
|
||||
<a class="wu-text-center" :class="(duration == <?php echo esc_html($period_option['duration']); ?> && duration_unit == '<?php echo esc_attr($period_option['duration_unit']); ?>') || (<?php echo wp_json_encode(0 === $index); ?> && duration === '') ? 'active' : ''" v-on:click.prevent="duration = <?php echo esc_attr($period_option['duration']); ?>; duration_unit = '<?php echo esc_attr($period_option['duration_unit']); ?>'" href="#">
|
||||
<?php echo esc_html($period_option['label']); ?>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
@ -19,9 +19,9 @@ $first_recurring_product = array_reduce(
|
||||
$products_to_reduce,
|
||||
function ($chosen_product, $product) {
|
||||
|
||||
if ($product && $product->is_recurring() && false == $chosen_product) {
|
||||
if ($product && $product->is_recurring() && ! $chosen_product) {
|
||||
$chosen_product = $product;
|
||||
} // end if;
|
||||
}
|
||||
|
||||
return $chosen_product;
|
||||
}
|
||||
@ -32,8 +32,8 @@ $legacy_mode = array_reduce(
|
||||
function ($all_have_same_duration, $product) use ($first_recurring_product) {
|
||||
|
||||
if ($product && $product->is_recurring()) {
|
||||
$all_have_same_duration = $first_recurring_product->get_recurring_description() == $product->get_recurring_description();
|
||||
} // end if;
|
||||
$all_have_same_duration = $first_recurring_product->get_recurring_description() === $product->get_recurring_description();
|
||||
}
|
||||
|
||||
return $all_have_same_duration;
|
||||
}
|
||||
@ -52,8 +52,8 @@ wp_add_inline_script(
|
||||
window.wu_legacy_mode = %s;
|
||||
|
||||
',
|
||||
json_encode($force_different_durations),
|
||||
json_encode($legacy_mode)
|
||||
wp_json_encode($force_different_durations),
|
||||
wp_json_encode($legacy_mode)
|
||||
),
|
||||
'after'
|
||||
);
|
||||
@ -76,21 +76,21 @@ if (null !== $first_recurring_product) {
|
||||
|
||||
data.duration = %s;
|
||||
|
||||
} // end if;
|
||||
}
|
||||
|
||||
if (!data.duration_unit && !wu_force_different_durations) {
|
||||
|
||||
data.duration_unit = %s;
|
||||
|
||||
} // end if;
|
||||
}
|
||||
|
||||
return data;
|
||||
|
||||
});
|
||||
|
||||
",
|
||||
json_encode($first_recurring_product->get_duration()),
|
||||
json_encode($first_recurring_product->get_duration_unit())
|
||||
wp_json_encode($first_recurring_product->get_duration()),
|
||||
wp_json_encode($first_recurring_product->get_duration_unit())
|
||||
),
|
||||
'after'
|
||||
);
|
||||
@ -101,7 +101,7 @@ if (null !== $first_recurring_product) {
|
||||
|
||||
<div class="wu-text-center wu-bg-gray-100 wu-rounded wu-uppercase wu-font-semibold wu-text-xs wu-text-gray-700 wu-p-4">
|
||||
|
||||
<?php _e('No Products Found.', 'wp-multisite-waas'); ?>
|
||||
<?php esc_html_e('No Products Found.', 'wp-multisite-waas'); ?>
|
||||
|
||||
</div>
|
||||
|
||||
@ -115,8 +115,8 @@ if (null !== $first_recurring_product) {
|
||||
|
||||
<div
|
||||
id="plan-<?php echo esc_attr($product->get_id()); ?>"
|
||||
class="<?php echo "wu-product-{$product->get_id()}"; ?> lift wu-plan plan-tier wu-flex-1 <?php echo esc_attr($product->is_featured_plan() ? 'callout' : ''); ?> wu-flex wu-flex-col wu-justify-between"
|
||||
v-show="wu_force_different_durations || (duration && wu_legacy_mode) || (( (!duration) || duration == <?php echo $product->get_duration(); ?> && duration_unit == '<?php echo $product->get_duration_unit(); ?>' ) || <?php echo json_encode($product->get_pricing_type() !== 'paid'); ?>)"
|
||||
class="<?php echo esc_attr("wu-product-{$product->get_id()}"); ?> lift wu-plan plan-tier wu-flex-1 <?php echo esc_attr($product->is_featured_plan() ? 'callout' : ''); ?> wu-flex wu-flex-col wu-justify-between"
|
||||
v-show="wu_force_different_durations || (duration && wu_legacy_mode) || (( (!duration) || duration == <?php echo esc_attr($product->get_duration()); ?> && duration_unit == '<?php echo esc_attr($product->get_duration_unit()); ?>' ) || <?php echo wp_json_encode($product->get_pricing_type() !== 'paid'); ?>)"
|
||||
>
|
||||
|
||||
<div class="wu-relative">
|
||||
@ -130,7 +130,7 @@ if (null !== $first_recurring_product) {
|
||||
/**
|
||||
* Featured tag.
|
||||
*/
|
||||
echo apply_filters('wu_featured_plan_label', __('Featured Plan', 'wp-multisite-waas'), $product);
|
||||
echo esc_html(apply_filters('wu_featured_plan_label', __('Featured Plan', 'wp-multisite-waas'), $product));
|
||||
|
||||
?>
|
||||
|
||||
@ -140,7 +140,7 @@ if (null !== $first_recurring_product) {
|
||||
|
||||
<h4 class="wp-ui-primary">
|
||||
|
||||
<?php echo $product->get_name(); ?>
|
||||
<?php echo esc_html($product->get_name()); ?>
|
||||
|
||||
</h4>
|
||||
|
||||
@ -158,7 +158,7 @@ if (null !== $first_recurring_product) {
|
||||
|
||||
<span class="plan-price">
|
||||
|
||||
<?php _e('Free!', 'wp-multisite-waas'); ?>
|
||||
<?php esc_html_e('Free!', 'wp-multisite-waas'); ?>
|
||||
|
||||
</span>
|
||||
|
||||
@ -178,7 +178,7 @@ if (null !== $first_recurring_product) {
|
||||
|
||||
<span class="plan-price">
|
||||
|
||||
<?php echo apply_filters('wu_plan_contact_us_price_line', __('--', 'wp-multisite-waas')); ?>
|
||||
<?php echo esc_html(apply_filters('wu_plan_contact_us_price_line', __('--', 'wp-multisite-waas'))); ?>
|
||||
|
||||
</span>
|
||||
|
||||
@ -195,7 +195,7 @@ if (null !== $first_recurring_product) {
|
||||
* Price display.
|
||||
*/
|
||||
|
||||
$symbol_left = in_array(wu_get_setting('currency_position', '%s%v'), ['%s%v', '%s %v']);
|
||||
$symbol_left = in_array(wu_get_setting('currency_position', '%s%v'), ['%s%v', '%s %v'], true);
|
||||
|
||||
?>
|
||||
|
||||
@ -203,19 +203,19 @@ if (null !== $first_recurring_product) {
|
||||
|
||||
<sup class="superscript">
|
||||
|
||||
<?php echo wu_get_currency_symbol($product->get_currency()); ?>
|
||||
<?php esc_html(wu_get_currency_symbol($product->get_currency())); ?>
|
||||
|
||||
</sup>
|
||||
|
||||
<?php endif; ?>
|
||||
|
||||
<span class="plan-price" v-if="wu_force_different_durations || (duration == <?php echo $product->get_duration(); ?> && duration_unit == '<?php echo $product->get_duration_unit(); ?>')">
|
||||
<span class="plan-price" v-if="wu_force_different_durations || (duration == <?php echo esc_attr($product->get_duration()); ?> && duration_unit == '<?php echo esc_attr($product->get_duration_unit()); ?>')">
|
||||
|
||||
<?php
|
||||
|
||||
$n = $product->get_amount();
|
||||
|
||||
echo str_replace(wu_get_currency_symbol(), '', wu_format_currency($n));
|
||||
echo esc_html(str_replace(wu_get_currency_symbol(), '', wu_format_currency($n)));
|
||||
|
||||
?>
|
||||
|
||||
@ -227,21 +227,21 @@ if (null !== $first_recurring_product) {
|
||||
|
||||
if ( ! $price_variation) {
|
||||
continue;
|
||||
} // end if;
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<span class="plan-price" v-cloak v-if="duration == <?php echo $price_variation['duration']; ?> && duration_unit == '<?php echo $price_variation['duration_unit']; ?>'">
|
||||
<span class="plan-price" v-cloak v-if="duration == <?php echo esc_attr($price_variation['duration']); ?> && duration_unit == '<?php echo esc_attr($price_variation['duration_unit']); ?>'">
|
||||
|
||||
<?php
|
||||
|
||||
$n = $price_variation ? $price_variation['monthly_amount'] : false;
|
||||
|
||||
if ($n) {
|
||||
echo str_replace(wu_get_currency_symbol(), '', wu_format_currency($n));
|
||||
echo esc_html(str_replace(wu_get_currency_symbol(), '', wu_format_currency($n)));
|
||||
} else {
|
||||
echo '--';
|
||||
} // end if;
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@ -249,7 +249,7 @@ if (null !== $first_recurring_product) {
|
||||
|
||||
<?php endforeach; ?>
|
||||
|
||||
<sub v-if="1 == <?php echo $product->get_duration(); ?> && 'month' == '<?php echo $product->get_duration_unit(); ?>'">
|
||||
<sub v-if="1 == <?php echo esc_attr($product->get_duration()); ?> && 'month' == '<?php echo $product->get_duration_unit(); ?>'">
|
||||
|
||||
<?php
|
||||
|
||||
@ -312,7 +312,7 @@ if (null !== $first_recurring_product) {
|
||||
$price_variation = $product->get_price_variation($freq, 'month');
|
||||
|
||||
if ( ! $price_variation || $product->get_pricing_type() == 'free' || $product->get_pricing_type() == 'contact_us') {
|
||||
echo "<li v-cloak v-show='duration == " . $freq . "' class='total-price total-price-$freq'>-</li>";
|
||||
echo "<li v-cloak v-show='duration == " . esc_attr($freq) . "' class='total-price total-price-($freq)'>-</li>";
|
||||
} else {
|
||||
$text = sprintf(__('%1$s, billed %2$s', 'wp-multisite-waas'), wu_format_currency($price_variation['amount']), $string);
|
||||
|
||||
@ -320,11 +320,11 @@ if (null !== $first_recurring_product) {
|
||||
|
||||
if (12 === $freq) {
|
||||
$extra_check_for_annual = ' || (duration == "1" && duration_unit == "year")';
|
||||
} // end if;
|
||||
}
|
||||
|
||||
echo "<li v-cloak v-show='duration == " . $freq . $extra_check_for_annual . "' class='total-price total-price-$freq'>$text</li>";
|
||||
} // end if;
|
||||
} // end foreach;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@ -337,14 +337,14 @@ if (null !== $first_recurring_product) {
|
||||
<li class="wu-cta">
|
||||
|
||||
<button
|
||||
v-if="<?php echo json_encode($product->get_pricing_type() !== 'contact_us'); ?>"
|
||||
v-if="<?php echo wp_json_encode($product->get_pricing_type() !== 'contact_us'); ?>"
|
||||
v-on:click="add_plan(<?php echo $product->get_id(); ?>)"
|
||||
type="button"
|
||||
name="products[]"
|
||||
value="<?php echo $product->get_id(); ?>"
|
||||
class="button button-primary button-next"
|
||||
>
|
||||
<?php _e('Select Plan', 'wp-multisite-waas'); ?>
|
||||
<?php esc_html_e('Select Plan', 'wp-multisite-waas'); ?>
|
||||
</button>
|
||||
|
||||
<button
|
||||
@ -354,7 +354,7 @@ if (null !== $first_recurring_product) {
|
||||
value="<?php echo $product->get_id(); ?>"
|
||||
class="button button-primary button-next"
|
||||
>
|
||||
<?php _e('Select Plan', 'wp-multisite-waas'); ?>
|
||||
<?php esc_html_e('Select Plan', 'wp-multisite-waas'); ?>
|
||||
</button>
|
||||
|
||||
</li>
|
||||
|
@ -17,8 +17,8 @@ foreach ($products as $index => &$_product) {
|
||||
unset($products[ $index ]);
|
||||
|
||||
$_product = $product_variation;
|
||||
} // end if;
|
||||
} // end foreach;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
<div class="">
|
||||
@ -31,7 +31,7 @@ foreach ($products as $index => &$_product) {
|
||||
id="wu-product-<?php echo $product->get_id(); ?>"
|
||||
class="wu-relative wu-block wu-rounded-lg wu-border wu-border-gray-300 wu-bg-white wu-border-solid wu-shadow-sm wu-px-6 wu-py-4 wu-cursor-pointer hover:wu-border-gray-400 sm:wu-flex sm:wu-justify-between focus-within:wu-ring-1 focus-within:wu-ring-offset-2 focus-within:wu-ring-indigo-500">
|
||||
|
||||
<input v-if="<?php echo json_encode($product->get_pricing_type() !== 'contact_us'); ?>" v-on:click="$parent.add_plan(<?php echo $product->get_id(); ?>)" type="checkbox" name="products[]" value="<?php echo $product->get_id(); ?>" class="screen-reader-text wu-hidden">
|
||||
<input v-if="<?php echo wp_json_encode($product->get_pricing_type() !== 'contact_us'); ?>" v-on:click="$parent.add_plan(<?php echo $product->get_id(); ?>)" type="checkbox" name="products[]" value="<?php echo $product->get_id(); ?>" class="screen-reader-text wu-hidden">
|
||||
|
||||
<input v-else v-on:click="$parent.open_url('<?php echo esc_url($product->get_contact_us_link()); ?>', '_blank');" type="checkbox" name="products[]" value="<?php echo $product->get_id(); ?>" class="screen-reader-text wu-hidden">
|
||||
|
||||
|
@ -43,7 +43,7 @@ if ( ! defined('ABSPATH')) {
|
||||
} elseif (array_search($current_step, array_column($steps, 'id')) > array_search($step_key, array_column($steps, 'id'))) {
|
||||
$container_class = 'wu-opacity-50';
|
||||
$color = 'blue';
|
||||
} // end if;
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
|
@ -38,7 +38,7 @@ if ( ! defined('ABSPATH')) {
|
||||
$class = 'active';
|
||||
} elseif (array_search($current_step, array_column($steps, 'id')) > array_search($step_key, array_column($steps, 'id'))) {
|
||||
$class = 'done';
|
||||
} // end if;
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
|
@ -41,7 +41,7 @@ if ( ! defined('ABSPATH')) {
|
||||
$class = 'step-current';
|
||||
} elseif (array_search($current_step, array_column($steps, 'id')) > array_search($step_key, array_column($steps, 'id'))) {
|
||||
$class = 'step-done';
|
||||
} // end if;
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
|
@ -8,6 +8,7 @@
|
||||
* See more here: https://help.wpultimo.com/article/335-template-overrides.
|
||||
*
|
||||
* @since 2.0.0
|
||||
* @package WP_Ultimo/Views
|
||||
* @param array $products List of product objects.
|
||||
* @param string $name ID of the field.
|
||||
* @param string $label The field label.
|
||||
@ -23,7 +24,7 @@ if (isset($should_display) && ! $should_display) {
|
||||
<?php
|
||||
|
||||
return;
|
||||
} // end if;
|
||||
}
|
||||
|
||||
$sites = array_map('wu_get_site', $sites ?? []);
|
||||
|
||||
@ -39,110 +40,114 @@ $customer_sites = isset($customer_sites) ? array_map('intval', $customer_sites)
|
||||
|
||||
<ul id="wu-site-template-filter" class="wu-bg-white wu-border-solid wu-border wu-border-gray-300 wu-shadow-sm wu-p-4 wu-flex wu-rounded wu-relative wu-m-0 wu-mb-4 wu-list-none">
|
||||
|
||||
<li class="wu-site-template-filter-all wu-mx-2 wu-my-0">
|
||||
<a
|
||||
href="#"
|
||||
data-category=""
|
||||
:class="$parent.template_category === '' ? 'current wu-font-semibold' : ''"
|
||||
v-on:click.prevent="$parent.template_category = ''"
|
||||
>
|
||||
<?php _e('All', 'wp-multisite-waas'); ?>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<?php if ( ! empty($customer_sites)) : ?>
|
||||
|
||||
<li class="wu-site-template-filter-<?php echo esc_attr(sanitize_title($customer_sites_category)); ?> wu-mx-2 wu-my-0">
|
||||
<a
|
||||
href="#"
|
||||
data-category="<?php echo esc_attr($customer_sites_category); ?>"
|
||||
:class="$parent.template_category === '<?php echo esc_attr($customer_sites_category); ?>' ? 'current wu-font-semibold' : ''"
|
||||
v-on:click.prevent="$parent.template_category = '<?php echo esc_attr($customer_sites_category); ?>'"
|
||||
><?php echo $customer_sites_category; ?></a>
|
||||
</li>
|
||||
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (isset($categories) && $categories) : ?>
|
||||
|
||||
<?php foreach ($categories as $category) : ?>
|
||||
|
||||
<li class="wu-site-template-filter-<?php echo esc_attr(sanitize_title($category)); ?> wu-mx-2 wu-my-0">
|
||||
<li class="wu-site-template-filter-all wu-mx-2 wu-my-0">
|
||||
<a
|
||||
href="#"
|
||||
data-category="<?php echo esc_attr($category); ?>"
|
||||
:class="$parent.template_category === '<?php echo esc_attr($category); ?>' ? 'current wu-font-semibold' : ''"
|
||||
v-on:click.prevent="$parent.template_category = '<?php echo esc_attr($category); ?>'"
|
||||
><?php echo $category; ?></a>
|
||||
href="#"
|
||||
data-category=""
|
||||
:class="$parent.template_category === '' ? 'current wu-font-semibold' : ''"
|
||||
v-on:click.prevent="$parent.template_category = ''"
|
||||
>
|
||||
<?php esc_html_e('All', 'wp-multisite-waas'); ?>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<?php endforeach; ?>
|
||||
<?php if ( ! empty($customer_sites)) : ?>
|
||||
|
||||
<?php endif; ?>
|
||||
<li class="wu-site-template-filter-<?php echo esc_attr(sanitize_title($customer_sites_category)); ?> wu-mx-2 wu-my-0">
|
||||
<a
|
||||
href="#"
|
||||
data-category="<?php echo esc_attr($customer_sites_category); ?>"
|
||||
:class="$parent.template_category === '<?php echo esc_attr($customer_sites_category); ?>' ? 'current wu-font-semibold' : ''"
|
||||
v-on:click.prevent="$parent.template_category = '<?php echo esc_attr($customer_sites_category); ?>'"
|
||||
><?php echo esc_html($customer_sites_category); ?></a>
|
||||
</li>
|
||||
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (isset($categories) && $categories) : ?>
|
||||
|
||||
<?php foreach ($categories as $category) : ?>
|
||||
|
||||
<li class="wu-site-template-filter-<?php echo esc_attr(sanitize_title($category)); ?> wu-mx-2 wu-my-0">
|
||||
<a
|
||||
href="#"
|
||||
data-category="<?php echo esc_attr($category); ?>"
|
||||
:class="$parent.template_category === '<?php echo esc_attr($category); ?>' ? 'current wu-font-semibold' : ''"
|
||||
v-on:click.prevent="$parent.template_category = '<?php echo esc_attr($category); ?>'"
|
||||
>
|
||||
<?php echo esc_html($category); ?></a>
|
||||
</li>
|
||||
|
||||
<?php endforeach; ?>
|
||||
|
||||
<?php endif; ?>
|
||||
|
||||
</ul>
|
||||
|
||||
<div id="wu-site-template-container-grid" class="wu-grid wu-grid-cols-1 sm:wu-grid-cols-2 md:wu-grid-cols-<?php echo $cols ?? '3'; ?> wu-gap-4">
|
||||
|
||||
<?php foreach ($sites as $site_template) : ?>
|
||||
<div id="wu-site-template-container-grid" class="wu-grid wu-grid-cols-1 sm:wu-grid-cols-2 md:wu-grid-cols-<?php echo esc_attr($cols ?? '3'); ?> wu-gap-4">
|
||||
|
||||
<?php
|
||||
if ($site_template->get_type() !== 'site_template' && ! in_array($site_template->get_id(), $customer_sites, true)) {
|
||||
continue; }
|
||||
?>
|
||||
<?php foreach ($sites as $site_template) : ?>
|
||||
|
||||
<?php $is_template = $site_template->get_type() === 'site_template'; ?>
|
||||
<?php
|
||||
if ($site_template->get_type() !== 'site_template' && ! in_array($site_template->get_id(), $customer_sites, true)) {
|
||||
continue; }
|
||||
?>
|
||||
|
||||
<?php $categories = array_merge($site_template->get_categories(), ! $is_template ? [$customer_sites_category] : []); ?>
|
||||
<?php $is_template = $site_template->get_type() === 'site_template'; ?>
|
||||
|
||||
<div
|
||||
id="wu-site-template-<?php echo esc_attr($site_template->get_id()); ?>"
|
||||
class="wu-bg-white wu-border-solid wu-border wu-border-gray-300 wu-shadow-sm wu-p-4 wu-rounded wu-relative"
|
||||
v-show="!$parent.template_category || <?php echo esc_attr(json_encode($categories)); ?>.join(',').indexOf($parent.template_category) > -1"
|
||||
v-cloak
|
||||
>
|
||||
<?php $categories = array_merge($site_template->get_categories(), ! $is_template ? [$customer_sites_category] : []); ?>
|
||||
|
||||
<div class="wu-site-template-image-container wu-relative">
|
||||
<div
|
||||
id="wu-site-template-<?php echo esc_attr($site_template->get_id()); ?>"
|
||||
class="wu-bg-white wu-border-solid wu-border wu-border-gray-300 wu-shadow-sm wu-p-4 wu-rounded wu-relative"
|
||||
|
||||
v-show="!$parent.template_category || <?php echo esc_attr(wp_json_encode($categories)); ?>.join(',').indexOf($parent.template_category) > -1"
|
||||
v-cloak
|
||||
>
|
||||
|
||||
<div class="wu-site-template-image-container wu-relative">
|
||||
|
||||
<a
|
||||
title="<?php esc_attr_e('View Template Preview', 'wp-multisite-waas'); ?>"
|
||||
class="wu-site-template-selector wu-cursor-pointer wu-no-underline"
|
||||
<?php echo $is_template ? $site_template->get_preview_url_attrs() : sprintf('href="%s" target="_blank"', $site_template->get_active_site_url()); ?>
|
||||
<?php echo $is_template ? $site_template->get_preview_url_attrs() : sprintf('href="%s" target="_blank"', $site_template->get_active_site_url()); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
|
||||
>
|
||||
|
||||
<img class="wu-site-template-image wu-w-full wu-border-solid wu-border wu-border-gray-300 wu-mb-4 wu-bg-white" src="<?php echo esc_attr($site_template->get_featured_image()); ?>" alt="<?php echo $site_template->get_title(); ?>">
|
||||
|
||||
</a>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3 class="wu-site-template-title wu-text-lg wu-font-semibold">
|
||||
<h3 class="wu-site-template-title wu-text-lg wu-font-semibold">
|
||||
|
||||
<?php echo $site_template->get_title(); ?>
|
||||
|
||||
</h3>
|
||||
<?php echo esc_html($site_template->get_title()); ?>
|
||||
|
||||
<p class="wu-site-template-description wu-text-sm">
|
||||
</h3>
|
||||
|
||||
<?php echo $site_template->get_description(); ?>
|
||||
<p class="wu-site-template-description wu-text-sm">
|
||||
|
||||
</p>
|
||||
|
||||
<div class="wu-mt-4">
|
||||
<?php echo esc_html($site_template->get_description()); ?>
|
||||
|
||||
<button v-on:click.prevent="$parent.template_id = <?php echo esc_attr($site_template->get_id()); ?>" type="button" class="wu-site-template-selector button btn button-primary btn-primary wu-w-full wu-text-center wu-cursor-pointer">
|
||||
</p>
|
||||
|
||||
<span v-if="$parent.template_id == <?php echo esc_attr($site_template->get_id()); ?>"><?php _e('Selected', 'wp-multisite-waas'); ?></span>
|
||||
<div class="wu-mt-4">
|
||||
|
||||
<span v-else><?php _e('Select', 'wp-multisite-waas'); ?></span>
|
||||
<button v-on:click.prevent="$parent.template_id = <?php echo esc_attr($site_template->get_id()); ?>" type="button" class="wu-site-template-selector button btn button-primary btn-primary wu-w-full wu-text-center wu-cursor-pointer">
|
||||
|
||||
</button>
|
||||
<span v-if="$parent.template_id == <?php echo esc_attr($site_template->get_id()); ?>"><?php esc_html_e('Selected', 'wp-multisite-waas'); ?></span>
|
||||
|
||||
</div>
|
||||
<span v-else><?php esc_html_e('Select', 'wp-multisite-waas'); ?></span>
|
||||
|
||||
</div>
|
||||
</button>
|
||||
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<?php endforeach; ?>
|
||||
|
||||
</div>
|
||||
|
||||
|
@ -2,26 +2,28 @@
|
||||
/**
|
||||
* Template File: Basic Pricing Table.
|
||||
*
|
||||
* To see what methods are available on the product variable, @see inc/models/class-products.php.
|
||||
* To see what methods are available on the product variable, @param array $products List of product objects.
|
||||
*
|
||||
* @param string $name ID of the field.
|
||||
* @param string $label The field label.
|
||||
*
|
||||
* @see inc/models/class-products.php.
|
||||
*
|
||||
* This template can also be overridden using template overrides.
|
||||
* See more here: https://help.wpultimo.com/article/335-template-overrides.
|
||||
*
|
||||
* @since 2.0.0
|
||||
* @param array $products List of product objects.
|
||||
* @param string $name ID of the field.
|
||||
* @param string $label The field label.
|
||||
* @package WP_Ultimo/Views
|
||||
*/
|
||||
|
||||
// Exit if accessed directly
|
||||
defined('ABSPATH') || exit;
|
||||
|
||||
if ( ! $should_display) {
|
||||
if ( ! $should_display ) {
|
||||
echo '<div></div>';
|
||||
|
||||
return;
|
||||
} // end if;
|
||||
|
||||
}
|
||||
$sites = array_map('wu_get_site', $sites ?? []);
|
||||
|
||||
$categories ??= [];
|
||||
@ -32,234 +34,232 @@ $customer_sites = isset($customer_sites) ? array_map('intval', $customer_sites)
|
||||
|
||||
?>
|
||||
|
||||
<?php if (empty($sites)) : ?>
|
||||
<?php if ( empty($sites) ) : ?>
|
||||
|
||||
<div
|
||||
class="wu-text-center wu-bg-gray-100 wu-rounded wu-uppercase wu-font-semibold wu-text-xs wu-text-gray-700 wu-p-4"
|
||||
>
|
||||
|
||||
<?php _e('No Site Templates Found.', 'wp-multisite-waas'); ?>
|
||||
|
||||
</div>
|
||||
<div class="wu-text-center wu-bg-gray-100 wu-rounded wu-uppercase wu-font-semibold wu-text-xs wu-text-gray-700 wu-p-4">
|
||||
<?php esc_html_e('No Site Templates Found.', 'wp-multisite-waas'); ?>
|
||||
</div>
|
||||
|
||||
<?php else : ?>
|
||||
|
||||
<div class="themes-php wu-styling">
|
||||
<div class="themes-php wu-styling">
|
||||
|
||||
<div class="wrap wu-template-selection">
|
||||
<div class="wrap wu-template-selection">
|
||||
|
||||
<?php
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Allow developers to hide the title.
|
||||
*/
|
||||
if (apply_filters('wu_step_template_display_header', true)) :
|
||||
/**
|
||||
* Allow developers to hide the title.
|
||||
*/
|
||||
if ( apply_filters('wu_step_template_display_header', true) ) :
|
||||
|
||||
?>
|
||||
?>
|
||||
|
||||
<h2>
|
||||
<h2>
|
||||
|
||||
<?php _e('Pick your Template', 'wp-multisite-waas'); ?>
|
||||
<?php esc_html_e('Pick your Template', 'wp-multisite-waas'); ?>
|
||||
|
||||
<span class="title-count theme-count">
|
||||
<span class="title-count theme-count">
|
||||
<?php echo count($sites); ?>
|
||||
</span>
|
||||
|
||||
<?php echo count($sites); ?>
|
||||
|
||||
</span>
|
||||
|
||||
</h2>
|
||||
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="wp-filter">
|
||||
|
||||
<div class="wp-filter-responsive">
|
||||
|
||||
<h4><?php _e('Template Categories', 'wp-multisite-waas'); ?></h4>
|
||||
|
||||
<select class="">
|
||||
|
||||
<option value="">
|
||||
|
||||
<?php _e('All Templates', 'wp-multisite-waas'); ?>
|
||||
|
||||
</option>
|
||||
|
||||
<?php if ( ! empty($customer_sites)) : ?>
|
||||
|
||||
<option value="<?php echo esc_attr($customer_sites_category); ?>">
|
||||
|
||||
<?php echo $customer_sites_category; ?>
|
||||
|
||||
</option>
|
||||
</h2>
|
||||
|
||||
<?php endif; ?>
|
||||
|
||||
<?php foreach ($categories as $category) : ?>
|
||||
<div class="wp-filter">
|
||||
|
||||
<option value="<?php echo esc_attr($category); ?>">
|
||||
|
||||
<?php echo $category; ?>
|
||||
|
||||
</option>
|
||||
<div class="wp-filter-responsive">
|
||||
|
||||
<?php endforeach; ?>
|
||||
<h4><?php esc_html_e('Template Categories', 'wp-multisite-waas'); ?></h4>
|
||||
|
||||
</select>
|
||||
<select class="">
|
||||
|
||||
</div>
|
||||
<option value="">
|
||||
|
||||
<ul class="filter-links wp-filter-template">
|
||||
<?php esc_html_e('All Templates', 'wp-multisite-waas'); ?>
|
||||
|
||||
<li class="selector-inactive">
|
||||
</option>
|
||||
|
||||
<a
|
||||
href="#"
|
||||
data-category=""
|
||||
:class="$parent.template_category === '' ? 'current' : ''"
|
||||
v-on:click.prevent="$parent.template_category = ''"
|
||||
>
|
||||
|
||||
<?php _e('All Templates', 'wp-multisite-waas'); ?>
|
||||
|
||||
</a>
|
||||
<?php if ( ! empty($customer_sites) ) : ?>
|
||||
|
||||
</li>
|
||||
<option value="<?php echo esc_attr($customer_sites_category); ?>">
|
||||
|
||||
<?php if ( ! empty($customer_sites)) : ?>
|
||||
|
||||
<li class="selector-inactive">
|
||||
<?php echo esc_html($customer_sites_category); ?>
|
||||
|
||||
<a
|
||||
href="#"
|
||||
data-category="<?php echo esc_attr($customer_sites_category); ?>"
|
||||
:class="$parent.template_category === '<?php echo esc_attr($customer_sites_category); ?>' ? 'current' : ''"
|
||||
v-on:click.prevent="$parent.template_category = '<?php echo esc_attr($customer_sites_category); ?>'"
|
||||
>
|
||||
|
||||
<?php echo $customer_sites_category; ?>
|
||||
|
||||
</a>
|
||||
</option>
|
||||
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php endif; ?>
|
||||
<?php foreach ( $categories as $category ) : ?>
|
||||
|
||||
<?php foreach ($categories as $category) : ?>
|
||||
<option value="<?php echo esc_attr($category); ?>">
|
||||
|
||||
<li class="selector-inactive">
|
||||
|
||||
<a
|
||||
href="#"
|
||||
data-category="<?php echo esc_attr($category); ?>"
|
||||
:class="$parent.template_category === '<?php echo esc_attr($category); ?>' ? 'current' : ''"
|
||||
v-on:click.prevent="$parent.template_category = '<?php echo esc_attr($category); ?>'"
|
||||
>
|
||||
|
||||
<?php echo $category; ?>
|
||||
|
||||
</a>
|
||||
<?php echo esc_html($category); ?>
|
||||
|
||||
</li>
|
||||
</option>
|
||||
|
||||
<?php endforeach; ?>
|
||||
<?php endforeach; ?>
|
||||
|
||||
</ul>
|
||||
</select>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="theme-browser rendered">
|
||||
<ul class="filter-links wp-filter-template">
|
||||
|
||||
<div class="wu-grid wu-grid-cols-1 sm:wu-grid-cols-2 md:wu-grid-cols-<?php echo $cols; ?> wu-gap-4 wp-clearfix">
|
||||
<li class="selector-inactive">
|
||||
|
||||
<?php $i = 0; foreach ($sites as $site) : ?>
|
||||
<a
|
||||
href="#"
|
||||
data-category=""
|
||||
:class="$parent.template_category === '' ? 'current' : ''"
|
||||
v-on:click.prevent="$parent.template_category = ''"
|
||||
>
|
||||
|
||||
<?php
|
||||
if ($site->get_type() !== 'site_template' && ! in_array($site->get_id(), $customer_sites, true)) {
|
||||
continue; }
|
||||
?>
|
||||
<?php esc_html_e('All Templates', 'wp-multisite-waas'); ?>
|
||||
|
||||
<?php $is_template = $site->get_type() === 'site_template'; ?>
|
||||
</a>
|
||||
|
||||
<?php $categories = array_merge($site->get_categories(), ! $is_template ? [$customer_sites_category] : []); ?>
|
||||
</li>
|
||||
|
||||
<div
|
||||
class="theme"
|
||||
tabindex="<?php echo $i; ?>"
|
||||
aria-describedby="<?php echo $site->get_id(); ?>-action <?php echo $site->get_id(); ?>-name"
|
||||
data-slug="<?php echo $site->get_id(); ?>"
|
||||
v-show="!$parent.template_category || <?php echo esc_attr(json_encode($categories)); ?>.join(',').indexOf($parent.template_category) > -1"
|
||||
v-cloak
|
||||
>
|
||||
<?php if ( ! empty($customer_sites) ) : ?>
|
||||
|
||||
<div class="theme-screenshot">
|
||||
<li class="selector-inactive">
|
||||
|
||||
<img
|
||||
src="<?php echo $site->get_featured_image(); ?>"
|
||||
alt="<?php echo $site->get_title(); ?>"
|
||||
>
|
||||
<a
|
||||
href="#"
|
||||
data-category="<?php echo esc_attr($customer_sites_category); ?>"
|
||||
:class="$parent.template_category === '<?php echo esc_attr($customer_sites_category); ?>' ? 'current' : ''"
|
||||
v-on:click.prevent="$parent.template_category = '<?php echo esc_attr($customer_sites_category); ?>'"
|
||||
>
|
||||
|
||||
|
||||
<?php echo esc_html($customer_sites_category); ?>
|
||||
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<?php endif; ?>
|
||||
|
||||
<?php foreach ( $categories as $category ) : ?>
|
||||
|
||||
<li class="selector-inactive">
|
||||
|
||||
<a
|
||||
href="#"
|
||||
data-category="<?php echo esc_attr($category); ?>"
|
||||
:class="$parent.template_category === '<?php echo esc_attr($category); ?>' ? 'current' : ''"
|
||||
v-on:click.prevent="$parent.template_category = '<?php echo esc_attr($category); ?>'"
|
||||
>
|
||||
|
||||
|
||||
<?php echo esc_html($category); ?>
|
||||
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<?php endforeach; ?>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
<a
|
||||
<?php echo $is_template ? $site->get_preview_url_attrs() : sprintf('href="%s" target="_blank"', $site->get_active_site_url()); ?>
|
||||
class="more-details"
|
||||
id="<?php echo $site->get_id(); ?>-action"
|
||||
>
|
||||
<div class="theme-browser rendered">
|
||||
|
||||
<?php $is_template ? _e('View Template', 'wp-multisite-waas') : _e('View Site', 'wp-multisite-waas'); ?>
|
||||
|
||||
</a>
|
||||
<div class="wu-grid wu-grid-cols-1 sm:wu-grid-cols-2 md:wu-grid-cols-<?php echo esc_attr($cols); ?> wu-gap-4 wp-clearfix">
|
||||
|
||||
<div class="wu-flex theme-name-header wu-items-center wu-relative">
|
||||
<?php
|
||||
$i = 0;
|
||||
foreach ( $sites as $site ) :
|
||||
?>
|
||||
|
||||
<h2 class="theme-name wu-flex-grow wu-h-full" id="<?php echo $site->get_id(); ?>-name">
|
||||
<?php
|
||||
if ( $site->get_type() !== 'site_template' && ! in_array($site->get_id(), $customer_sites, true) ) {
|
||||
continue;
|
||||
}
|
||||
?>
|
||||
|
||||
<?php echo $site->get_title(); ?>
|
||||
|
||||
</h2>
|
||||
<?php $is_template = $site->get_type() === 'site_template'; ?>
|
||||
|
||||
<div class="theme-actions wu-flex">
|
||||
<?php $categories = array_merge($site->get_categories(), ! $is_template ? [$customer_sites_category] : []); ?>
|
||||
|
||||
<button
|
||||
class="button button-primary"
|
||||
type="button"
|
||||
v-on:click.prevent="$parent.template_id = <?php echo esc_attr($site->get_id()); ?>"
|
||||
>
|
||||
<div
|
||||
class="theme"
|
||||
tabindex="<?php echo esc_attr($i); ?>"
|
||||
aria-describedby="<?php echo esc_attr($site->get_id()); ?>-action <?php echo esc_attr($site->get_id()); ?>-name"
|
||||
data-slug="<?php echo esc_attr($site->get_id()); ?>"
|
||||
v-show="!$parent.template_category || <?php echo esc_attr(wp_json_encode($categories)); ?>.join(',').indexOf($parent.template_category) > -1"
|
||||
v-cloak
|
||||
>
|
||||
|
||||
<span v-if="$parent.template_id == <?php echo esc_attr($site->get_id()); ?>"><?php _e('Selected', 'wp-multisite-waas'); ?></span>
|
||||
<div class="theme-screenshot">
|
||||
|
||||
<span v-else><?php _e('Select', 'wp-multisite-waas'); ?></span>
|
||||
<img
|
||||
src="<?php echo esc_url($site->get_featured_image()); ?>"
|
||||
alt="<?php echo esc_attr($site->get_title()); ?>"
|
||||
>
|
||||
</div>
|
||||
|
||||
</button>
|
||||
<a
|
||||
<?php echo $is_template ? $site->get_preview_url_attrs() : sprintf('href="%s" target="_blank"', $site->get_active_site_url()); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
|
||||
class="more-details"
|
||||
id="<?php echo esc_attr($site->get_id()); ?>-action"
|
||||
>
|
||||
<?php $is_template ? esc_html_e('View Template', 'wp-multisite-waas') : esc_html_e('View Site', 'wp-multisite-waas'); ?>
|
||||
</a>
|
||||
|
||||
<div class="wu-flex theme-name-header wu-items-center wu-relative">
|
||||
|
||||
|
||||
<h2 class="theme-name wu-flex-grow wu-h-full"
|
||||
id="<?php echo esc_attr($site->get_id()); ?>-name">
|
||||
<?php echo esc_html($site->get_title()); ?>
|
||||
</h2>
|
||||
|
||||
<div class="theme-actions wu-flex">
|
||||
|
||||
<button
|
||||
class="button button-primary"
|
||||
type="button"
|
||||
v-on:click.prevent="$parent.template_id = <?php echo esc_attr($site->get_id()); ?>"
|
||||
>
|
||||
|
||||
<span v-if="$parent.template_id == <?php echo esc_attr($site->get_id()); ?>"><?php esc_html_e('Selected', 'wp-multisite-waas'); ?></span>
|
||||
|
||||
<span v-else><?php esc_html_e('Select', 'wp-multisite-waas'); ?></span>
|
||||
|
||||
</button>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<?php
|
||||
|
||||
++$i;
|
||||
endforeach;
|
||||
|
||||
?>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="theme-overlay"></div>
|
||||
|
||||
<?php
|
||||
|
||||
++$i;
|
||||
endforeach;
|
||||
|
||||
?>
|
||||
<p class="no-themes">
|
||||
<?php esc_html_e('No Templates Found', 'wp-multisite-waas'); ?>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="theme-overlay"></div>
|
||||
|
||||
<p class="no-themes">
|
||||
|
||||
<?php _e('No Templates Found', 'wp-multisite-waas'); ?>
|
||||
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<?php endif; ?>
|
||||
|
@ -20,8 +20,7 @@ defined('ABSPATH') || exit;
|
||||
|
||||
if ( ! $should_display) {
|
||||
return;
|
||||
} // end if;
|
||||
|
||||
}
|
||||
$sites = array_map('wu_get_site', $sites ?? []);
|
||||
|
||||
$categories ??= [];
|
||||
@ -35,107 +34,103 @@ $customer_sites = isset($customer_sites) ? array_map('intval', $customer_sites)
|
||||
|
||||
<ul id="wu-site-template-filter">
|
||||
|
||||
<li class="wu-site-template-filter-all">
|
||||
<a
|
||||
href="#"
|
||||
data-category=""
|
||||
:class="$parent.template_category === '' ? 'current wu-font-semibold' : ''"
|
||||
v-on:click.prevent="$parent.template_category = ''"
|
||||
>
|
||||
<?php _e('All', 'wp-multisite-waas'); ?>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<?php if ( ! empty($customer_sites)) : ?>
|
||||
|
||||
<li class="wu-site-template-filter-<?php echo esc_attr(sanitize_title($customer_sites_category)); ?>">
|
||||
<a
|
||||
href="#"
|
||||
data-category="<?php echo esc_attr($customer_sites_category); ?>"
|
||||
:class="$parent.template_category === '<?php echo esc_attr($customer_sites_category); ?>' ? 'current wu-font-semibold' : ''"
|
||||
v-on:click.prevent="$parent.template_category = '<?php echo esc_attr($customer_sites_category); ?>'"
|
||||
><?php echo $customer_sites_category; ?></a>
|
||||
</li>
|
||||
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (isset($categories) && $categories) : ?>
|
||||
|
||||
<?php foreach ($categories as $category) : ?>
|
||||
|
||||
<li class="wu-site-template-filter-<?php echo esc_attr(sanitize_title($category)); ?>">
|
||||
<li class="wu-site-template-filter-all">
|
||||
<a
|
||||
href="#"
|
||||
data-category="<?php echo esc_attr($category); ?>"
|
||||
:class="$parent.template_category === '<?php echo esc_attr($category); ?>' ? 'current wu-font-semibold' : ''"
|
||||
v-on:click.prevent="$parent.template_category = '<?php echo esc_attr($category); ?>'"
|
||||
><?php echo $category; ?></a>
|
||||
href="#"
|
||||
data-category=""
|
||||
:class="$parent.template_category === '' ? 'current wu-font-semibold' : ''"
|
||||
v-on:click.prevent="$parent.template_category = ''"
|
||||
>
|
||||
<?php esc_html_e('All', 'wp-multisite-waas'); ?>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<?php endforeach; ?>
|
||||
<?php if ( ! empty($customer_sites)) : ?>
|
||||
|
||||
<?php endif; ?>
|
||||
<li class="wu-site-template-filter-<?php echo esc_attr(sanitize_title($customer_sites_category)); ?>">
|
||||
<a
|
||||
href="#"
|
||||
data-category="<?php echo esc_attr($customer_sites_category); ?>"
|
||||
:class="$parent.template_category === '<?php echo esc_attr($customer_sites_category); ?>' ? 'current wu-font-semibold' : ''"
|
||||
v-on:click.prevent="$parent.template_category = '<?php echo esc_attr($customer_sites_category); ?>'"
|
||||
>
|
||||
<?php echo esc_html($customer_sites_category); ?></a>
|
||||
</li>
|
||||
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (isset($categories) && $categories) : ?>
|
||||
|
||||
<?php foreach ($categories as $category) : ?>
|
||||
|
||||
<li class="wu-site-template-filter-<?php echo esc_attr(sanitize_title($category)); ?>">
|
||||
<a
|
||||
href="#"
|
||||
data-category="<?php echo esc_attr($category); ?>"
|
||||
:class="$parent.template_category === '<?php echo esc_attr($category); ?>' ? 'current wu-font-semibold' : ''"
|
||||
v-on:click.prevent="$parent.template_category = '<?php echo esc_attr($category); ?>'"
|
||||
>
|
||||
<?php echo esc_html($category); ?></a>
|
||||
</li>
|
||||
|
||||
<?php endforeach; ?>
|
||||
|
||||
<?php endif; ?>
|
||||
|
||||
</ul>
|
||||
|
||||
<div id="wu-site-template-container-grid">
|
||||
|
||||
<?php foreach ($sites as $site_template) : ?>
|
||||
<?php foreach ($sites as $site_template) : ?>
|
||||
|
||||
<?php
|
||||
if ($site_template->get_type() !== 'site_template' && ! in_array($site_template->get_id(), $customer_sites, true)) {
|
||||
continue; }
|
||||
?>
|
||||
<?php
|
||||
if ($site_template->get_type() !== 'site_template' && ! in_array($site_template->get_id(), $customer_sites, true)) {
|
||||
continue; }
|
||||
?>
|
||||
|
||||
<?php $is_template = $site_template->get_type() === 'site_template'; ?>
|
||||
<?php $is_template = $site_template->get_type() === 'site_template'; ?>
|
||||
|
||||
<?php $categories = array_merge($site_template->get_categories(), ! $is_template ? [$customer_sites_category] : []); ?>
|
||||
<?php $categories = array_merge($site_template->get_categories(), ! $is_template ? [$customer_sites_category] : []); ?>
|
||||
|
||||
<div
|
||||
id="wu-site-template-<?php echo esc_attr($site_template->get_id()); ?>"
|
||||
v-show="!$parent.template_category || <?php echo esc_attr(json_encode($categories)); ?>.join(',').indexOf($parent.template_category) > -1"
|
||||
v-cloak
|
||||
>
|
||||
<div
|
||||
id="wu-site-template-<?php echo esc_attr($site_template->get_id()); ?>"
|
||||
v-show="!$parent.template_category || <?php echo esc_attr(wp_json_encode($categories)); ?>.join(',').indexOf($parent.template_category) > -1"
|
||||
v-cloak
|
||||
>
|
||||
|
||||
<img class="wu-site-template-image" src="<?php echo esc_attr($site_template->get_featured_image()); ?>" alt="<?php echo $site_template->get_title(); ?>">
|
||||
<img class="wu-site-template-image" src="<?php echo esc_attr($site_template->get_featured_image()); ?>" alt="<?php echo esc_attr($site_template->get_title()); ?>">
|
||||
|
||||
<h3 class="wu-site-template-title">
|
||||
<h3 class="wu-site-template-title">
|
||||
<?php echo esc_html($site_template->get_title()); ?>
|
||||
</h3>
|
||||
|
||||
<?php echo $site_template->get_title(); ?>
|
||||
<p class="wu-site-template-description">
|
||||
<?php echo esc_html($site_template->get_description()); ?>
|
||||
</p>
|
||||
|
||||
</h3>
|
||||
<div class="wu-site-template-preview-block">
|
||||
|
||||
<p class="wu-site-template-description">
|
||||
<a class="wu-site-template-selector" <?php echo $site_template->get_preview_url_attrs(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>>
|
||||
<?php esc_html_e('View Template Preview', 'wp-multisite-waas'); ?>
|
||||
</a>
|
||||
|
||||
<?php echo $site_template->get_description(); ?>
|
||||
</div>
|
||||
|
||||
</p>
|
||||
<label for="wu-site-template-id-<?php echo esc_attr($site_template->get_id()); ?>">
|
||||
|
||||
<div class="wu-site-template-preview-block">
|
||||
<input id="wu-site-template-id-<?php echo esc_attr($site_template->get_id()); ?>" type="radio" name="template_id" v-model="$parent.template_id" value="<?php echo esc_attr($site_template->get_id()); ?>" />
|
||||
|
||||
<a class="wu-site-template-selector" <?php echo $site_template->get_preview_url_attrs(); ?>>
|
||||
<a class="wu-site-template-selector" @click.prevent="" href="#">
|
||||
|
||||
<?php _e('View Template Preview', 'wp-multisite-waas'); ?>
|
||||
<?php esc_html_e('Select this Template', 'wp-multisite-waas'); ?>
|
||||
|
||||
</a>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</label>
|
||||
|
||||
<label for="wu-site-template-id-<?php echo esc_attr($site_template->get_id()); ?>">
|
||||
</div>
|
||||
|
||||
<input id="wu-site-template-id-<?php echo esc_attr($site_template->get_id()); ?>" type="radio" name="template_id" v-model="$parent.template_id" value="<?php echo esc_attr($site_template->get_id()); ?>" />
|
||||
|
||||
<a class="wu-site-template-selector" @click.prevent="" href="#">
|
||||
|
||||
<?php _e('Select this Template', 'wp-multisite-waas'); ?>
|
||||
|
||||
</a>
|
||||
|
||||
</label>
|
||||
|
||||
</div>
|
||||
|
||||
<?php endforeach; ?>
|
||||
<?php endforeach; ?>
|
||||
|
||||
</div>
|
||||
|
||||
|
Reference in New Issue
Block a user