Prep Plugin for release on WordPress.org (#23)

* Update translation text domain
* 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.
* Add Proper Build script
* Use emojii flags
* Fix i18n deprecation  notice for translating too early
* Put all scripts in footer and load async
This commit is contained in:
David Stone
2025-04-14 11:36:46 -06:00
committed by GitHub
parent a31cfcb565
commit d88e50df38
1087 changed files with 12586 additions and 18535 deletions

View File

@ -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-ultimo'); ?>
</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-ultimo'); ?>
<?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-ultimo'); ?></h4>
<select class="">
<option value="">
<?php _e('All Templates', 'wp-ultimo'); ?>
</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-ultimo'); ?>
</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-ultimo') : _e('View Site', 'wp-ultimo'); ?>
</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-ultimo'); ?></span>
<div class="theme-screenshot">
<span v-else><?php _e('Select', 'wp-ultimo'); ?></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-ultimo'); ?>
</p>
</div>
</div>
<?php endif; ?>