diff --git a/.github/workflows/cypress-matrix.yml b/.github/workflows/cypress-matrix.yml
index 84ccc754..3c367160 100644
--- a/.github/workflows/cypress-matrix.yml
+++ b/.github/workflows/cypress-matrix.yml
@@ -28,9 +28,9 @@ jobs:
- '8.2'
- '8.3'
wpVersion:
- - '6.5'
- '6.6'
- '6.7'
+ - '6.8'
steps:
@@ -134,4 +134,4 @@ jobs:
- name: Output debug.log file contents
if: ${{ always() }}
continue-on-error: true
- run: npx wp-env run wordpress "cat /var/www/html/wp-content/debug.log"
+ run: npx wp-env run wordpress cat /var/www/html/wp-content/debug.log
diff --git a/.github/workflows/cypress-tests-beta.yml b/.github/workflows/cypress-tests-beta.yml
index a5d9b8f1..f427ebc1 100644
--- a/.github/workflows/cypress-tests-beta.yml
+++ b/.github/workflows/cypress-tests-beta.yml
@@ -112,4 +112,4 @@ jobs:
- name: Output debug.log file contents
if: always()
continue-on-error: true
- run: npx wp-env run wordpress "cat /var/www/html/wp-content/debug.log"
+ run: npx wp-env run wordpress cat /var/www/html/wp-content/debug.log
diff --git a/.github/workflows/cypress-tests.yml b/.github/workflows/cypress-tests.yml
index c0a0a155..ec3c9b8d 100644
--- a/.github/workflows/cypress-tests.yml
+++ b/.github/workflows/cypress-tests.yml
@@ -133,4 +133,4 @@ jobs:
- name: Output debug.log file contents
if: ${{ always() }}
continue-on-error: true
- run: npx wp-env run wordpress "cat /var/www/html/wp-content/debug.log"
+ run: npx wp-env run wordpress cat /var/www/html/wp-content/debug.log
diff --git a/.wp-env.json b/.wp-env.json
index eba6148f..ce3878c0 100644
--- a/.wp-env.json
+++ b/.wp-env.json
@@ -1,9 +1,10 @@
{
- "core": "WordPress/WordPress#tags/6.7.2",
+ "core": "WordPress/WordPress#tags/6.8.1",
"config": {
"WP_DEBUG": true,
"WP_DEBUG_LOG": true,
"WP_DEBUG_DISPLAY": false,
+ "WP_ENVIRONMENT_TYPE": "local",
"FS_METHOD": "direct"
},
"phpVersion": "8.1",
diff --git a/bootstrap.php b/bootstrap.php
index fb5bdd5e..d3ff65eb 100644
--- a/bootstrap.php
+++ b/bootstrap.php
@@ -62,54 +62,65 @@ function () {
array( 'browser', 'skip404' )
);
-$website_guide_link = 'https://www.hostgator.com/blog/build-wordpress-website-guide/';
-$migrate_link = 'https://www.hostgator.com/help/article/hostgator-website-migration';
-$hosting_link = 'https://www.hostgator.com/blog/reasons-why-wordpress-website/';
-
// Set coming soon values
-$nfd_module_container->set(
- 'comingsoon',
- array(
- 'admin_app_url' => admin_url( 'admin.php?page=hostgator#/home' ),
- 'template_h1' => __( 'A New WordPress Site', 'wp-plugin-hostgator' ),
- 'template_h2' => __( 'Coming Soon!', 'wp-plugin-hostgator' ),
- 'template_coming_soon_links' =>
- '' .
- __( 'How to build your WordPress Website', 'wp-plugin-hostgator' ) .
- '
' .
- '' .
- __( 'How to Migrate a Website to Hostgator?', 'wp-plugin-hostgator' ) .
- '
' .
- '' .
- __( 'Why choose HostGator for your WordPress site?', 'wp-plugin-hostgator' ) .
- '
',
- 'template_footer_t' => sprintf(
- /* translators: %1$s is replaced with opening link tag taking you to hostgator.com/wordpress, %2$s is replaced with closing link tag, %3$s is replaced with opening link tag taking you to login page, %4$s is replaced with closing link tag, %5$s is replaced with opening link tag taking you to portal.hostgator.com, %6$s is replaced with closing link tag. */
- esc_html__( 'A %1$sHostGator%2$s powered website. Is this your website? Log in to %3$sWordPress%4$s or %5$sHostgator%6$s.', 'wp-plugin-hostgator' ) . ' ',
- '',
- '',
- '',
- '',
- '',
- ''
- ),
- 'template_page_title' => sprintf(
- /* translators: %s is Blog name */
- __( '%s — Coming Soon', 'wp-plugin-hostgator' ),
- esc_html( get_option( 'blogname' ) )
- ),
- 'admin_bar_text' => '
' . __( 'Coming Soon Active', 'wp-plugin-hostgator' ) . '
',
- 'admin_notice_text' => sprintf(
- /* translators: %1$s is replaced with the opening link tag, %2$s is replaced with the closing link tag, %3$s is the opening link tag to preview the page, %4$s is the closing link tag. */
- __( 'Your site is currently displaying a %1$scoming soon page%2$s. Once you are ready, %3$slaunch your site%4$s.', 'wp-plugin-hostgator' ),
- '',
- '',
- '',
- ''
- ),
- 'template_styles' => esc_url( HOSTGATOR_PLUGIN_URL . 'assets/styles/coming-soon.css' ),
- )
+add_filter(
+ 'newfold/coming-soon/filter/args',
+ function ( $args, $default_args ) {
+
+ $website_guide_link = 'https://www.hostgator.com/blog/build-wordpress-website-guide/';
+ $migrate_link = 'https://www.hostgator.com/help/article/hostgator-website-migration';
+ $hosting_link = 'https://www.hostgator.com/blog/reasons-why-wordpress-website/';
+
+ $args = wp_parse_args(
+ array(
+ 'admin_app_url' => admin_url( 'admin.php?page=hostgator#/home' ),
+ 'template_h1' => __( 'A New WordPress Site', 'wp-plugin-hostgator' ),
+ 'template_h2' => __( 'Coming Soon!', 'wp-plugin-hostgator' ),
+ 'template_coming_soon_links' =>
+ '' .
+ __( 'How to build your WordPress Website', 'wp-plugin-hostgator' ) .
+ '
' .
+ '' .
+ __( 'How to Migrate a Website to Hostgator?', 'wp-plugin-hostgator' ) .
+ '
' .
+ '' .
+ __( 'Why choose HostGator for your WordPress site?', 'wp-plugin-hostgator' ) .
+ '
',
+ 'template_footer_t' => sprintf(
+ /* translators: %1$s is replaced with opening link tag taking you to hostgator.com/wordpress, %2$s is replaced with closing link tag, %3$s is replaced with opening link tag taking you to login page, %4$s is replaced with closing link tag, %5$s is replaced with opening link tag taking you to portal.hostgator.com, %6$s is replaced with closing link tag. */
+ esc_html__( 'A %1$sHostGator%2$s powered website. Is this your website? Log in to %3$sWordPress%4$s or %5$sHostgator%6$s.', 'wp-plugin-hostgator' ) . ' ',
+ '',
+ '',
+ '',
+ '',
+ '',
+ ''
+ ),
+ 'template_page_title' => sprintf(
+ /* translators: %s is Blog name */
+ __( '%s — Coming Soon', 'wp-plugin-hostgator' ),
+ esc_html( get_option( 'blogname' ) )
+ ),
+ 'admin_bar_text' => '' . __( 'Coming Soon Active', 'wp-plugin-hostgator' ) . '
',
+ 'admin_notice_text' => sprintf(
+ /* translators: %1$s is replaced with the opening link tag, %2$s is replaced with the closing link tag, %3$s is the opening link tag to preview the page, %4$s is the closing link tag. */
+ __( 'Your site is currently displaying a %1$scoming soon page%2$s. Once you are ready, %3$slaunch your site%4$s.', 'wp-plugin-hostgator' ),
+ '',
+ '',
+ '',
+ ''
+ ),
+ 'template_styles' => esc_url( HOSTGATOR_PLUGIN_URL . 'assets/styles/coming-soon.css' ),
+ ),
+ $default_args
+ );
+
+ return $args;
+ },
+ 10,
+ 2
);
+
setContainer( $nfd_module_container );
// Set up the updater endpoint and map values
diff --git a/composer.json b/composer.json
index 9d7139bd..747a86d7 100644
--- a/composer.json
+++ b/composer.json
@@ -43,7 +43,7 @@
}
},
"require-dev": {
- "newfold-labs/wp-php-standards": "^1.2.4",
+ "newfold-labs/wp-php-standards": "^1.2.5",
"wp-cli/i18n-command": "^2.6.3",
"wp-phpunit/wp-phpunit": "^6.7.2"
},
@@ -75,14 +75,14 @@
"require": {
"newfold-labs/wp-module-activation": "^1.0.7",
"newfold-labs/wp-module-atomic": "^1.3",
- "newfold-labs/wp-module-coming-soon": "^1.4.0",
+ "newfold-labs/wp-module-coming-soon": "^1.5.0",
"newfold-labs/wp-module-context": "^1.0.1",
- "newfold-labs/wp-module-data": "^2.6.11",
+ "newfold-labs/wp-module-data": "^2.7.2",
"newfold-labs/wp-module-deactivation": "^1.4.0",
"newfold-labs/wp-module-ecommerce": "^1.6.1",
"newfold-labs/wp-module-facebook": "^1.2.1",
"newfold-labs/wp-module-features": "^1.5.0",
- "newfold-labs/wp-module-global-ctb": "^1.0.14",
+ "newfold-labs/wp-module-global-ctb": "^1.2.0",
"newfold-labs/wp-module-help-center": "^2.3.1",
"newfold-labs/wp-module-loader": "^1.0.12",
"newfold-labs/wp-module-marketplace": "^2.6.2",
diff --git a/composer.lock b/composer.lock
index d341c8d6..b50b2774 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "ff66d79eb295bbeb77b55669ea5d9d4c",
+ "content-hash": "f1f8ed2a67f5f1ab24c70dbe853ebede",
"packages": [
{
"name": "doctrine/inflector",
@@ -753,16 +753,16 @@
},
{
"name": "newfold-labs/wp-module-coming-soon",
- "version": "1.4.0",
+ "version": "1.5.0",
"source": {
"type": "git",
"url": "https://github.com/newfold-labs/wp-module-coming-soon.git",
- "reference": "1e434b702db763cfe58db0dba0bb058201cbe277"
+ "reference": "4a800541e105fc0e225c0b5f510bf3f195c440b7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/newfold-labs/wp-module-coming-soon/zipball/1e434b702db763cfe58db0dba0bb058201cbe277",
- "reference": "1e434b702db763cfe58db0dba0bb058201cbe277",
+ "url": "https://api.github.com/repos/newfold-labs/wp-module-coming-soon/zipball/4a800541e105fc0e225c0b5f510bf3f195c440b7",
+ "reference": "4a800541e105fc0e225c0b5f510bf3f195c440b7",
"shasum": ""
},
"require": {
@@ -822,10 +822,10 @@
],
"description": "Coming Soon module for WordPress sites.",
"support": {
- "source": "https://github.com/newfold-labs/wp-module-coming-soon/tree/1.4.0",
+ "source": "https://github.com/newfold-labs/wp-module-coming-soon/tree/1.5.0",
"issues": "https://github.com/newfold-labs/wp-module-coming-soon/issues"
},
- "time": "2025-03-04T16:43:06+00:00"
+ "time": "2025-04-28T19:34:39+00:00"
},
{
"name": "newfold-labs/wp-module-context",
@@ -883,16 +883,16 @@
},
{
"name": "newfold-labs/wp-module-data",
- "version": "2.6.11",
+ "version": "2.7.2",
"source": {
"type": "git",
"url": "https://github.com/newfold-labs/wp-module-data.git",
- "reference": "058a70c1c957cbe9739c9907f082087cd12a224a"
+ "reference": "e4653839f10be76d6334ec34ff3593960ae220f0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/newfold-labs/wp-module-data/zipball/058a70c1c957cbe9739c9907f082087cd12a224a",
- "reference": "058a70c1c957cbe9739c9907f082087cd12a224a",
+ "url": "https://api.github.com/repos/newfold-labs/wp-module-data/zipball/e4653839f10be76d6334ec34ff3593960ae220f0",
+ "reference": "e4653839f10be76d6334ec34ff3593960ae220f0",
"shasum": ""
},
"require": {
@@ -911,7 +911,7 @@
"kporras07/composer-symlinks": "^1.2",
"lucatume/wp-browser": "^3.5.8",
"newfold-labs/wp-php-standards": "^1.2.3",
- "newfold-labs/wp-plugin-bluehost": "^4.0",
+ "newfold-labs/wp-plugin-bluehost": "dev-latest-zip",
"phpunit/phpcov": "^8.2.1",
"wpackagist-plugin/jetpack": "^14.0",
"wpackagist-plugin/woocommerce": ">=9",
@@ -940,7 +940,9 @@
]
},
"classmap": [
- "wordpress"
+ "wordpress",
+ "tests/phpunit",
+ "tests/wpunit"
]
},
"scripts": {
@@ -965,6 +967,7 @@
"phpunit --bootstrap tests/phpunit/bootstrap.php --coverage-php tests/_output/unit.cov --coverage-text",
"codecept run wpunit --coverage wpunit.cov",
"phpcov merge --php tests/_output/merged.cov --html tests/_output/html tests/_output;",
+ "git diff main...head > /tmp/main.diff; phpcov patch-coverage --path-prefix $(pwd) ./tests/_output/merged.cov /tmp/main.diff",
"echo \"open tests/_output/html/index.html\" to view the report"
],
"post-install-cmd": [
@@ -979,10 +982,10 @@
],
"description": "Newfold Data Module",
"support": {
- "source": "https://github.com/newfold-labs/wp-module-data/tree/2.6.11",
+ "source": "https://github.com/newfold-labs/wp-module-data/tree/2.7.2",
"issues": "https://github.com/newfold-labs/wp-module-data/issues"
},
- "time": "2025-03-10T22:27:07+00:00"
+ "time": "2025-04-23T22:15:23+00:00"
},
{
"name": "newfold-labs/wp-module-deactivation",
@@ -1302,16 +1305,16 @@
},
{
"name": "newfold-labs/wp-module-global-ctb",
- "version": "1.0.14",
+ "version": "1.2.0",
"source": {
"type": "git",
"url": "https://github.com/newfold-labs/wp-module-global-ctb.git",
- "reference": "4e57b20d1f1b536c11947512bf64b8639908cedd"
+ "reference": "ff324fccbff25972a8d34ddf291726f5ba490fca"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/newfold-labs/wp-module-global-ctb/zipball/4e57b20d1f1b536c11947512bf64b8639908cedd",
- "reference": "4e57b20d1f1b536c11947512bf64b8639908cedd",
+ "url": "https://api.github.com/repos/newfold-labs/wp-module-global-ctb/zipball/ff324fccbff25972a8d34ddf291726f5ba490fca",
+ "reference": "ff324fccbff25972a8d34ddf291726f5ba490fca",
"shasum": ""
},
"require-dev": {
@@ -1345,10 +1348,10 @@
],
"description": "Newfold module for 'Click to Buy' functionality in brand plugins",
"support": {
- "source": "https://github.com/newfold-labs/wp-module-global-ctb/tree/1.0.14",
+ "source": "https://github.com/newfold-labs/wp-module-global-ctb/tree/1.2.0",
"issues": "https://github.com/newfold-labs/wp-module-global-ctb/issues"
},
- "time": "2025-01-07T22:27:52+00:00"
+ "time": "2025-04-14T17:16:04+00:00"
},
{
"name": "newfold-labs/wp-module-help-center",
@@ -3569,16 +3572,16 @@
},
{
"name": "newfold-labs/wp-php-standards",
- "version": "1.2.4",
+ "version": "1.2.5",
"source": {
"type": "git",
"url": "https://github.com/newfold-labs/wp-php-standards.git",
- "reference": "7ef8833b93f8bcdf52c6006f3adb53972d0799a6"
+ "reference": "f895273a11b3f53dc29719fb859629e13291bf37"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/newfold-labs/wp-php-standards/zipball/7ef8833b93f8bcdf52c6006f3adb53972d0799a6",
- "reference": "7ef8833b93f8bcdf52c6006f3adb53972d0799a6",
+ "url": "https://api.github.com/repos/newfold-labs/wp-php-standards/zipball/f895273a11b3f53dc29719fb859629e13291bf37",
+ "reference": "f895273a11b3f53dc29719fb859629e13291bf37",
"shasum": ""
},
"require": {
@@ -3588,6 +3591,11 @@
"wp-coding-standards/wpcs": "@stable"
},
"type": "phpcodesniffer-standard",
+ "autoload": {
+ "psr-4": {
+ "Newfold\\Sniffs\\": "Newfold/Sniffs/"
+ }
+ },
"license": [
"GPL-2.0-or-later"
],
@@ -3599,10 +3607,10 @@
],
"description": "PHP Code Sniffer Standards for Newfold WordPress projects.",
"support": {
- "source": "https://github.com/newfold-labs/wp-php-standards/tree/1.2.4",
+ "source": "https://github.com/newfold-labs/wp-php-standards/tree/1.2.5",
"issues": "https://github.com/newfold-labs/wp-php-standards/issues"
},
- "time": "2024-07-22T23:16:21+00:00"
+ "time": "2025-03-19T23:24:54+00:00"
},
{
"name": "phpcompatibility/php-compatibility",
@@ -3740,16 +3748,16 @@
},
{
"name": "phpcompatibility/phpcompatibility-wp",
- "version": "2.1.5",
+ "version": "2.1.6",
"source": {
"type": "git",
"url": "https://github.com/PHPCompatibility/PHPCompatibilityWP.git",
- "reference": "01c1ff2704a58e46f0cb1ca9d06aee07b3589082"
+ "reference": "80ccb1a7640995edf1b87a4409fa584cd5869469"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityWP/zipball/01c1ff2704a58e46f0cb1ca9d06aee07b3589082",
- "reference": "01c1ff2704a58e46f0cb1ca9d06aee07b3589082",
+ "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityWP/zipball/80ccb1a7640995edf1b87a4409fa584cd5869469",
+ "reference": "80ccb1a7640995edf1b87a4409fa584cd5869469",
"shasum": ""
},
"require": {
@@ -3806,7 +3814,7 @@
"type": "open_collective"
}
],
- "time": "2024-04-24T21:37:59+00:00"
+ "time": "2025-01-16T22:34:19+00:00"
},
{
"name": "phpcsstandards/phpcsextra",
@@ -3976,16 +3984,16 @@
},
{
"name": "squizlabs/php_codesniffer",
- "version": "3.11.2",
+ "version": "3.12.0",
"source": {
"type": "git",
"url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
- "reference": "1368f4a58c3c52114b86b1abe8f4098869cb0079"
+ "reference": "2d1b63db139c3c6ea0c927698e5160f8b3b8d630"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/1368f4a58c3c52114b86b1abe8f4098869cb0079",
- "reference": "1368f4a58c3c52114b86b1abe8f4098869cb0079",
+ "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/2d1b63db139c3c6ea0c927698e5160f8b3b8d630",
+ "reference": "2d1b63db139c3c6ea0c927698e5160f8b3b8d630",
"shasum": ""
},
"require": {
@@ -4050,9 +4058,13 @@
{
"url": "https://opencollective.com/php_codesniffer",
"type": "open_collective"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/phpcsstandards",
+ "type": "thanks_dev"
}
],
- "time": "2024-12-11T16:04:26+00:00"
+ "time": "2025-03-18T05:04:51+00:00"
},
{
"name": "symfony/finder",
diff --git a/cypress.config.js b/cypress.config.js
index b21cb815..38715928 100644
--- a/cypress.config.js
+++ b/cypress.config.js
@@ -27,9 +27,19 @@ module.exports = defineConfig({
'*youtube.com',
],
e2e: {
- // We've imported your old cypress plugins here.
- // You may want to clean this up later by importing these.
setupNodeEvents(on, config) {
+ on( 'task', {
+ log( message ) {
+ // eslint-disable-next-line no-console
+ console.log( message );
+ return null;
+ },
+ table( message ) {
+ // eslint-disable-next-line no-console
+ console.table( message );
+ return null;
+ },
+ } );
// Ensure that the base URL is always properly set.
if (config.env && config.env.baseUrl) {
@@ -90,6 +100,7 @@ module.exports = defineConfig({
excludeSpecPattern: [
'vendor/newfold-labs/**/tests/cypress/integration/wp-module-support/*.cy.js', // skip any module's wp-module-support files
'vendor/newfold-labs/wp-module-onboarding/tests/cypress/integration/5-AI-SiteGen-onboarding-flow/*.cy.js', // skip onboarding sitegen tests for now
+ 'vendor/newfold-labs/wp-module-ecommerce/tests/cypress/integration/Home/ecommerce-live.cy.js', // skip outdated ecom test - it is removed from ecom in 1.7.3
],
experimentalRunAllSpecs: true,
},
diff --git a/inc/Admin.php b/inc/Admin.php
index 75397f79..bdf44ff1 100644
--- a/inc/Admin.php
+++ b/inc/Admin.php
@@ -255,13 +255,17 @@ public static function page() {
*/
public static function render() {
global $wp_version;
+ if ( ! function_exists( 'get_plugin_data' ) ) {
+ require_once ABSPATH . 'wp-admin/includes/plugin.php';
+ }
+ $plugin_data = get_plugin_data( HOSTGATOR_PLUGIN_FILE );
echo '' . PHP_EOL;
- if ( version_compare( $wp_version, '5.4', '>=' ) ) {
+ if ( version_compare( $wp_version, $plugin_data['RequiresWP'], '>=' ) ) {
echo '' . PHP_EOL;
} else {
- // fallback messaging for WordPress older than 5.4
+ // fallback messaging for outdated WordPress
echo '' . PHP_EOL;
echo '