<?php /** * Plugin Name: SEO Pro Stack * Plugin URI: https://www.seoprostack.com * Description: SEO Pro Stack Plugin for WordPress. Speed Matters. * Version: 1.0.0 * Author: SEO Pro Stack * Author URI: https://www.seoprostack.com * License: GPL-2.0+ * License URI: http://www.gnu.org/licenses/gpl-2.0.txt * Text Domain: seoprostack * Domain Path: /languages * Requires at least: 5.0 * Requires PHP: 7.2 */ // If this file is called directly, abort. if ( ! defined( 'WPINC' ) ) { die; } // Define plugin version - extract from plugin header if (!function_exists('get_plugin_data')) { require_once(ABSPATH . 'wp-admin/includes/plugin.php'); } // Define the version constant - first try get_plugin_data() if available, // otherwise fall back to direct string extraction if (function_exists('get_plugin_data')) { $plugin_data = get_plugin_data(__FILE__, false, false); define('SEOPROSTACK_VERSION', $plugin_data['Version']); } else { // Manual extraction as fallback $plugin_file = file_get_contents(__FILE__); preg_match('/Version:\s*([^\s]+)/i', $plugin_file, $matches); define('SEOPROSTACK_VERSION', isset($matches[1]) ? $matches[1] : '1.0.0'); } define('SEOPROSTACK_PLUGIN_DIR', plugin_dir_path(__FILE__)); define('SEOPROSTACK_PLUGIN_URL', plugin_dir_url(__FILE__)); define('SEOPROSTACK_PLUGIN_BASENAME', plugin_basename(__FILE__)); // Activation hook function seoprostack_activate() { // Add activation logic later if needed } register_activation_hook( __FILE__, 'seoprostack_activate' ); // Load core functionality require_once SEOPROSTACK_PLUGIN_DIR . 'includes/features/auto-upload/class-seoprostack-auto-upload.php'; // Load admin UI and configurations if ( is_admin() ) { require_once SEOPROSTACK_PLUGIN_DIR . 'admin/pro-plugins-config.php'; require_once SEOPROSTACK_PLUGIN_DIR . 'admin/settings.php'; } // Admin assets function seoprostack_admin_assets() { // Enqueue styles wp_enqueue_style( 'seoprostack-admin', SEOPROSTACK_PLUGIN_URL . 'admin/css/seoprostack-admin.css', array(), SEOPROSTACK_VERSION ); // Enqueue WordPress updates script for theme installation wp_enqueue_script('updates'); wp_enqueue_script( 'seoprostack-admin', SEOPROSTACK_PLUGIN_URL . 'admin/js/seoprostack-admin.js', array('jquery', 'updates'), SEOPROSTACK_VERSION, true ); // Localize script for AJAX $ajax_data = array( 'ajaxurl' => admin_url('admin-ajax.php'), 'adminUrl' => admin_url(), 'nonce' => wp_create_nonce('seoprostack-nonce'), 'updateNonce' => wp_create_nonce('updates') ); wp_localize_script('seoprostack-admin', 'wpSeoProStack', $ajax_data); } add_action('admin_enqueue_scripts', 'seoprostack_admin_assets'); // Initialize classes $seoprostack_auto_upload = new SEOProStack_Auto_Upload();