| Server IP : 5.129.245.98 / Your IP : 216.73.216.246 Web Server : Apache/2.4.66 (Debian) System : Linux 1b8c17c336b9 6.8.0-111-generic #111-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 11 23:16:02 UTC 2026 x86_64 User : www-data ( 33) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/html/wp-content/plugins/content-egg/application/admin/ |
Upload File : |
<?php
namespace ContentEgg\application\admin;
use ContentEgg\application\models\ProductMapModel;
defined('\ABSPATH') || exit;
/**
* ProductMapMaintenance class file
*
* @author keywordrush.com <support@keywordrush.com>
* @link https://www.keywordrush.com
* @copyright Copyright © 2025 keywordrush.com
*/
class ProductMapMaintenance
{
public static function initAction(): void
{
add_action('before_delete_post', [__CLASS__, 'onBeforeDeletePost'], 10, 1);
add_action('wp_trash_post', [__CLASS__, 'onBeforeDeletePost'], 10, 1);
}
public static function onBeforeDeletePost(int $post_id): void
{
$map = ProductMapModel::model();
// If this post is a Bridge Page used as TARGET
$map->deleteByTarget($post_id);
// If this post served as a SOURCE context
$map->deleteBySource($post_id);
}
public static function garbageCollect(): void
{
$map = ProductMapModel::model();
// Clean rows whose source post vanished
$map->cleanupOrphanSources();
// Clean rows whose target post vanished
$map->cleanupOrphanTargets();
}
}