- Add DDHH_JM_Roles class with add_roles() and remove_roles() methods - Role 'ddhh_provider' (Anbieter) can edit/delete own job_offers only - Jobs go to pending status (publish_job_offers: false) - No access to regular posts/pages (edit_posts/edit_pages: false) - Can upload files for logos - Integrated with Activator and Deactivator hooks
40 lines
891 B
PHP
40 lines
891 B
PHP
<?php
|
|
/**
|
|
* Plugin activation handler
|
|
*
|
|
* @package DDHH_Job_Manager
|
|
*/
|
|
|
|
// Exit if accessed directly.
|
|
defined( 'ABSPATH' ) || exit;
|
|
|
|
/**
|
|
* Handles plugin activation
|
|
*/
|
|
class DDHH_JM_Activator {
|
|
|
|
/**
|
|
* Activation logic
|
|
*/
|
|
public static function activate() {
|
|
// Check WordPress version
|
|
if ( version_compare( get_bloginfo( 'version' ), '6.0', '<' ) ) {
|
|
wp_die( esc_html__( 'This plugin requires WordPress 6.0 or higher.', 'ddhh-job-manager' ) );
|
|
}
|
|
|
|
// Check PHP version
|
|
if ( version_compare( PHP_VERSION, '7.4', '<' ) ) {
|
|
wp_die( esc_html__( 'This plugin requires PHP 7.4 or higher.', 'ddhh-job-manager' ) );
|
|
}
|
|
|
|
// Store plugin version
|
|
update_option( 'ddhh_jm_version', DDHH_JM_VERSION );
|
|
|
|
// Register custom roles
|
|
DDHH_JM_Roles::add_roles();
|
|
|
|
// Set flag to flush rewrite rules on next init
|
|
set_transient( 'ddhh_jm_flush_rewrite_rules', 1, 60 );
|
|
}
|
|
}
|