Adds a "Stellenangebot" group to Elementor's dynamic tags dropdown with tags for Standort, Art, Bewerbungsfrist, Kontakt-E-Mail (text), and Logo (image). This removes the dependency on Elementor Pro's ACF module for displaying job offer fields in templates and loop items. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
70 lines
2.7 KiB
PHP
70 lines
2.7 KiB
PHP
<?php
|
|
/**
|
|
* Plugin Name: Digital Dabei Job Manager
|
|
* Plugin URI: https://hamburg-digital-dabei.de
|
|
* Description: Closed job board for provider self-registration and mentor applications
|
|
* Version: 1.0.0
|
|
* Author: vihais
|
|
* Author URI: https://hamburg-digital-dabei.de
|
|
* Text Domain: ddhh-job-manager
|
|
* Domain Path: /languages
|
|
* Requires at least: 6.0
|
|
* Requires PHP: 7.4
|
|
* License: GPL v2 or later
|
|
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
|
*
|
|
* @package DDHH_Job_Manager
|
|
*/
|
|
|
|
// Exit if accessed directly.
|
|
defined( 'ABSPATH' ) || exit;
|
|
|
|
// Load Action Scheduler before other code for proper initialization.
|
|
// Action Scheduler must be included early so it can register its hooks and tables.
|
|
require_once plugin_dir_path( __FILE__ ) . 'vendor/action-scheduler/action-scheduler.php';
|
|
|
|
// Define plugin constants.
|
|
define( 'DDHH_JM_VERSION', '1.0.0' );
|
|
define( 'DDHH_JM_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
|
define( 'DDHH_JM_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
|
|
define( 'DDHH_JM_PLUGIN_FILE', __FILE__ );
|
|
|
|
// Include core classes.
|
|
require_once DDHH_JM_PLUGIN_DIR . 'includes/class-activator.php';
|
|
require_once DDHH_JM_PLUGIN_DIR . 'includes/class-deactivator.php';
|
|
require_once DDHH_JM_PLUGIN_DIR . 'includes/class-post-types.php';
|
|
require_once DDHH_JM_PLUGIN_DIR . 'includes/class-roles.php';
|
|
require_once DDHH_JM_PLUGIN_DIR . 'includes/class-acf-fields.php';
|
|
require_once DDHH_JM_PLUGIN_DIR . 'includes/class-formidable.php';
|
|
require_once DDHH_JM_PLUGIN_DIR . 'includes/class-pages.php';
|
|
require_once DDHH_JM_PLUGIN_DIR . 'includes/class-dashboard.php';
|
|
require_once DDHH_JM_PLUGIN_DIR . 'includes/class-access-control.php';
|
|
require_once DDHH_JM_PLUGIN_DIR . 'includes/class-notifications.php';
|
|
require_once DDHH_JM_PLUGIN_DIR . 'includes/class-archive.php';
|
|
require_once DDHH_JM_PLUGIN_DIR . 'includes/class-template.php';
|
|
require_once DDHH_JM_PLUGIN_DIR . 'includes/class-admin-ui.php';
|
|
require_once DDHH_JM_PLUGIN_DIR . 'includes/class-user-preferences.php';
|
|
require_once DDHH_JM_PLUGIN_DIR . 'includes/class-scheduler.php';
|
|
require_once DDHH_JM_PLUGIN_DIR . 'includes/class-elementor-tags.php';
|
|
require_once DDHH_JM_PLUGIN_DIR . 'includes/class-ddhh-job-manager.php';
|
|
|
|
// Register activation and deactivation hooks (must be at top level).
|
|
register_activation_hook( __FILE__, array( 'DDHH_JM_Activator', 'activate' ) );
|
|
register_deactivation_hook( __FILE__, array( 'DDHH_JM_Deactivator', 'deactivate' ) );
|
|
|
|
/**
|
|
* Initialize the plugin.
|
|
*/
|
|
function ddhh_jm_init() {
|
|
DDHH_JM_Job_Manager::get_instance();
|
|
}
|
|
add_action( 'plugins_loaded', 'ddhh_jm_init', 10 );
|
|
|
|
/**
|
|
* Initialize Elementor dynamic tags when Elementor is loaded.
|
|
*/
|
|
function ddhh_jm_elementor_init() {
|
|
DDHH_JM_Elementor_Tags::init();
|
|
}
|
|
add_action( 'elementor/init', 'ddhh_jm_elementor_init' );
|