diff --git a/.changeset/olive-queens-look.md b/.changeset/olive-queens-look.md new file mode 100644 index 00000000..402681dd --- /dev/null +++ b/.changeset/olive-queens-look.md @@ -0,0 +1,5 @@ +--- +"@wpengine/hwp-previews-wordpress-plugin": patch +--- + +bug: Fixed issue with retrieving post types before ACF hook initialisation. diff --git a/plugins/hwp-previews/src/Preview/Post/Post_Preview_Service.php b/plugins/hwp-previews/src/Preview/Post/Post_Preview_Service.php index 711adec2..2de2f3ba 100644 --- a/plugins/hwp-previews/src/Preview/Post/Post_Preview_Service.php +++ b/plugins/hwp-previews/src/Preview/Post/Post_Preview_Service.php @@ -35,22 +35,11 @@ class Post_Preview_Service { */ protected $parent_post_statuses = []; - /** - * Constructor for the Post_Preview_Service class. - * - * Initializes the allowed post-types and statuses for previews. - */ - public function __construct() { - $this->set_post_types(); - $this->set_post_statuses(); - $this->set_post_parent_statuses(); - } - /** * @return array */ public function get_allowed_post_types(): array { - return $this->post_types; + return $this->get_post_types(); } /** @@ -59,6 +48,11 @@ public function get_allowed_post_types(): array { * @return array */ public function get_post_statuses(): array { + $post_statuses = $this->post_statuses; + if ([] !== $post_statuses) { + return $post_statuses; + } + $this->set_post_statuses(); return $this->post_statuses; } @@ -68,6 +62,11 @@ public function get_post_statuses(): array { * @return array */ public function get_post_types(): array { + $post_types = $this->post_types; + if ([] !== $post_types) { + return $post_types; + } + $this->set_post_types(); return $this->post_types; } @@ -77,6 +76,11 @@ public function get_post_types(): array { * @return array */ public function get_parent_post_statuses(): array { + $parent_post_statuses = $this->parent_post_statuses; + if ([] !== $parent_post_statuses) { + return $parent_post_statuses; + } + $this->set_post_parent_statuses(); return $this->parent_post_statuses; } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 10f9fd06..a7b718b1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -93,6 +93,24 @@ importers: specifier: ^30.19.0 version: 30.19.0(@playwright/test@1.53.2)(@types/eslint@9.6.1)(@types/node@24.0.12)(@types/webpack@4.41.40)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(stylelint-scss@6.12.1(stylelint@16.21.1(typescript@5.8.3)))(type-fest@4.41.0)(typescript@5.8.3) + plugins/wpgraphql-logging: + devDependencies: + '@playwright/test': + specifier: ^1.52.0 + version: 1.53.2 + '@wordpress/e2e-test-utils-playwright': + specifier: ^1.25.0 + version: 1.26.0(@playwright/test@1.53.2) + '@wordpress/env': + specifier: ^10.25.0 + version: 10.26.0(@types/node@24.0.12) + '@wordpress/jest-console': + specifier: ^8.25.0 + version: 8.26.0(jest@29.7.0(@types/node@24.0.12)) + '@wordpress/scripts': + specifier: ^30.18.0 + version: 30.19.0(@playwright/test@1.53.2)(@types/eslint@9.6.1)(@types/node@24.0.12)(@types/webpack@4.41.40)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(stylelint-scss@6.12.1(stylelint@16.21.1(typescript@5.8.3)))(type-fest@4.41.0)(typescript@5.8.3) + packages: '@ampproject/remapping@2.3.0': @@ -9451,26 +9469,27 @@ snapshots: '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.100.0)': dependencies: webpack: 5.100.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.2.2(webpack-cli@5.1.4)(webpack@5.100.0))(webpack@5.100.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.2.2)(webpack@5.100.0) '@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.100.0)': dependencies: webpack: 5.100.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.2.2(webpack-cli@5.1.4)(webpack@5.100.0))(webpack@5.100.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.2.2)(webpack@5.100.0) - '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.2.2(webpack-cli@5.1.4)(webpack@5.100.0))(webpack@5.100.0)': + '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.2.2)(webpack@5.100.0))(webpack-dev-server@5.2.2)(webpack@5.100.0)': dependencies: webpack: 5.100.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.2.2(webpack-cli@5.1.4)(webpack@5.100.0))(webpack@5.100.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.2.2)(webpack@5.100.0) optionalDependencies: webpack-dev-server: 5.2.2(webpack-cli@5.1.4)(webpack@5.100.0) - '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.2.2)(webpack@5.100.0)': + '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.2.2(webpack-cli@5.1.4)(webpack@5.100.0))(webpack@5.100.0)': dependencies: webpack: 5.100.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-dev-server@5.2.2)(webpack@5.100.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.2.2(webpack-cli@5.1.4)(webpack@5.100.0))(webpack@5.100.0) optionalDependencies: webpack-dev-server: 5.2.2(webpack-cli@5.1.4)(webpack@5.100.0) + optional: true '@wordpress/babel-preset-default@8.26.0': dependencies: @@ -9670,7 +9689,7 @@ snapshots: url-loader: 4.1.1(webpack@5.100.0) webpack: 5.100.0(webpack-cli@5.1.4) webpack-bundle-analyzer: 4.10.2 - webpack-cli: 5.1.4(webpack-dev-server@5.2.2)(webpack@5.100.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.2.2)(webpack@5.100.0) webpack-dev-server: 5.2.2(webpack-cli@5.1.4)(webpack@5.100.0) transitivePeerDependencies: - '@rspack/core' @@ -9765,7 +9784,7 @@ snapshots: url-loader: 4.1.1(webpack@5.100.0) webpack: 5.100.0(webpack-cli@5.1.4) webpack-bundle-analyzer: 4.10.2 - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.2.2(webpack-cli@5.1.4)(webpack@5.100.0))(webpack@5.100.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.2.2)(webpack@5.100.0) webpack-dev-server: 5.2.2(webpack-cli@5.1.4)(webpack@5.100.0) transitivePeerDependencies: - '@rspack/core' @@ -14932,13 +14951,14 @@ snapshots: optionalDependencies: webpack-bundle-analyzer: 4.10.2 webpack-dev-server: 5.2.2(webpack-cli@5.1.4)(webpack@5.100.0) + optional: true - webpack-cli@5.1.4(webpack-dev-server@5.2.2)(webpack@5.100.0): + webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.2.2)(webpack@5.100.0): dependencies: '@discoveryjs/json-ext': 0.5.7 '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.100.0) '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.100.0) - '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.2.2)(webpack@5.100.0) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.2.2)(webpack@5.100.0))(webpack-dev-server@5.2.2)(webpack@5.100.0) colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.6 @@ -14950,6 +14970,7 @@ snapshots: webpack: 5.100.0(webpack-cli@5.1.4) webpack-merge: 5.10.0 optionalDependencies: + webpack-bundle-analyzer: 4.10.2 webpack-dev-server: 5.2.2(webpack-cli@5.1.4)(webpack@5.100.0) webpack-dev-middleware@7.4.2(webpack@5.100.0): @@ -14995,7 +15016,7 @@ snapshots: ws: 8.18.3 optionalDependencies: webpack: 5.100.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-dev-server@5.2.2)(webpack@5.100.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.2.2)(webpack@5.100.0) transitivePeerDependencies: - bufferutil - debug