Files
Digital-Dabei-Hamburg-Job-M…/ddhh-job-manager.php
Viktor Miller f0de02ca94 feat: register custom Elementor dynamic tags for job offer fields
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>
2026-02-04 12:46:44 +09:00

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' );