%s
', esc_html( $message ) );
}
/**
* Display WordPress version notice.
*
* @return void
*/
function wp_fedistream_wp_version_notice(): void {
$message = sprintf(
/* translators: 1: Required WordPress version, 2: Current WordPress version */
__( 'WP FediStream requires WordPress version %1$s or higher. You are running WordPress %2$s.', 'wp-fedistream' ),
WP_FEDISTREAM_MIN_WP_VERSION,
get_bloginfo( 'version' )
);
printf( '', esc_html( $message ) );
}
/**
* Display autoloader notice.
*
* @return void
*/
function wp_fedistream_autoloader_notice(): void {
$message = __( 'WP FediStream requires Composer dependencies to be installed. Please run "composer install" in the plugin directory.', 'wp-fedistream' );
printf( '', esc_html( $message ) );
}
/**
* Plugin activation hook.
*
* @return void
*/
function wp_fedistream_activate(): void {
// Check requirements before activation.
if ( version_compare( PHP_VERSION, WP_FEDISTREAM_MIN_PHP_VERSION, '<' ) ) {
deactivate_plugins( WP_FEDISTREAM_BASENAME );
wp_die(
sprintf(
/* translators: %s: Required PHP version */
esc_html__( 'WP FediStream requires PHP version %s or higher.', 'wp-fedistream' ),
WP_FEDISTREAM_MIN_PHP_VERSION
)
);
}
$autoloader = WP_FEDISTREAM_PATH . 'vendor/autoload.php';
if ( file_exists( $autoloader ) ) {
require_once $autoloader;
\WP_FediStream\Installer::activate();
}
}
/**
* Plugin deactivation hook.
*
* @return void
*/
function wp_fedistream_deactivate(): void {
$autoloader = WP_FEDISTREAM_PATH . 'vendor/autoload.php';
if ( file_exists( $autoloader ) ) {
require_once $autoloader;
\WP_FediStream\Installer::deactivate();
}
}
/**
* Plugin uninstall hook.
*
* @return void
*/
function wp_fedistream_uninstall(): void {
$autoloader = WP_FEDISTREAM_PATH . 'vendor/autoload.php';
if ( file_exists( $autoloader ) ) {
require_once $autoloader;
\WP_FediStream\Installer::uninstall();
}
}
// Register activation/deactivation hooks.
register_activation_hook( __FILE__, 'wp_fedistream_activate' );
register_deactivation_hook( __FILE__, 'wp_fedistream_deactivate' );
// Initialize plugin after all plugins are loaded.
add_action( 'plugins_loaded', 'wp_fedistream_init' );