chore: initial snapshot of 2meet-data-optimizer-hivepress-addon v0.1.0

Baseline before backporting wp-data-optimizer v3.0.1-v3.4.6.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TbG1keQQ7XBa7qMQY16KCY
This commit is contained in:
2026-07-31 05:06:36 +08:00
commit b4400a68e5
56 changed files with 10395 additions and 0 deletions
+118
View File
@@ -0,0 +1,118 @@
<?php
/**
* Deprecated stub — superseded by `integrations/hivepress/` adapter family.
*
* Pre-v3.0.0 this file held a 242-line monolithic HivePress integration
* (Listing/Vendor query optimizer + addon field auto-detection). The
* integration was rewritten in v3.0.0 as a per-addon adapter family living
* under `includes/integrations/hivepress/`:
*
* - Detector → `class-tmdo-hivepress-detector.php`
* - Bootstrap → `class-tmdo-hivepress-bootstrap.php`
* - Conflict guard → `class-tmdo-hivepress-conflict-guard.php`
* - Adapter trait → `trait-tmdo-hp-adapter.php`
* - Adapter intf. → `interface-tmdo-hp-adapter.php`
* - Core adapter → `adapters/class-tmdo-hivepress-core-adapter.php`
* - Future addons → `adapters/class-tmdo-hivepress-{addon}-adapter.php`
*
* `TMDO_Core::run()` now boots `TMDO_HivePress_Bootstrap::boot()` instead
* of `( new TMDO_HivePress() )->register_hooks()`. The legacy class survives
* here as a deprecated stub so any third-party code that calls
* `new TMDO_HivePress()` doesn't fatal — methods route to the new adapter
* with an `_doing_it_wrong()` notice.
*
* Removal target: v4.0.0.
*
* @package WP_Data_Optimizer
* @since 0.3.0
* @deprecated 3.0.0 Use TMDO_HivePress_Bootstrap + adapters instead.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( ! class_exists( 'TMDO_HivePress' ) ) {
/**
* Deprecated WPDO HivePress integration shim.
*
* @deprecated 3.0.0 Use TMDO_HivePress_Bootstrap + adapter family.
*/
class TMDO_HivePress {
/**
* No-op deprecated shim — bootstrap auto-binds adapters now.
*
* @deprecated 3.0.0
*/
public function register_hooks(): void {
if ( function_exists( '_doing_it_wrong' ) ) {
_doing_it_wrong(
__METHOD__,
'TMDO_HivePress is deprecated. TMDO_HivePress_Bootstrap auto-binds adapters at plugins_loaded:5.',
'3.0.0'
);
}
// No-op: bootstrap already wired the core adapter.
}
/**
* Deprecated shim — delegates to the new core adapter when available.
*
* @deprecated 3.0.0 Use TMDO_HivePress_Core_Adapter::optimize_query().
*
* @param \WP_Query $query Query object.
*/
public function optimize_query( \WP_Query $query ): void {
if ( ! class_exists( 'TMDO_HivePress_Core_Adapter' ) ) {
return;
}
$adapter = class_exists( 'TMDO_HivePress_Bootstrap' )
? TMDO_HivePress_Bootstrap::adapter_for( 'hivepress' )
: null;
if ( $adapter instanceof TMDO_HivePress_Core_Adapter ) {
$adapter->optimize_query( $query );
}
}
/**
* Deprecated shim — delegates to the new core adapter when available.
*
* @deprecated 3.0.0 Use TMDO_HivePress_Core_Adapter::optimize_search().
*
* @param \WP_Query $query Query object.
* @param array $attribute_fields HP attribute fields (unused).
*/
public function optimize_search( \WP_Query $query, array $attribute_fields ): void {
if ( ! class_exists( 'TMDO_HivePress_Core_Adapter' ) ) {
return;
}
$adapter = class_exists( 'TMDO_HivePress_Bootstrap' )
? TMDO_HivePress_Bootstrap::adapter_for( 'hivepress' )
: null;
if ( $adapter instanceof TMDO_HivePress_Core_Adapter ) {
$adapter->optimize_search( $query, $attribute_fields );
}
}
/**
* Deprecated shim — field registration is now per-adapter.
*
* @deprecated 3.0.0 Field registration moved to per-addon adapters.
*
* @param TMDO_Schema_Registry $registry Registry singleton.
*/
public function register_extended_fields( TMDO_Schema_Registry $registry ): void {
unset( $registry );
if ( function_exists( '_doing_it_wrong' ) ) {
_doing_it_wrong(
__METHOD__,
'Field registration moved to per-addon adapters under includes/integrations/hivepress/adapters/.',
'3.0.0'
);
}
}
}
} // end if ( ! class_exists )