docs(02-01): complete provider registration form plan

Phase 2 Plan 1 execution summary:
- Created Formidable registration form with 5 German-labeled fields
- Implemented auto-login and ddhh_provider role assignment
- Email uniqueness and password validation enforced
- Organization name stored as user meta
- All tasks completed successfully with 2 commits

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-14 19:20:59 +09:00
parent da8c6b0542
commit 1c6598d8c2
4 changed files with 63 additions and 0 deletions

View File

@@ -32,6 +32,8 @@ 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-ddhh-job-manager.php';
/**

View File

@@ -33,6 +33,9 @@ class DDHH_JM_Activator {
// Register custom roles
DDHH_JM_Roles::add_roles();
// Create provider pages
DDHH_JM_Pages::create_provider_pages();
// Set flag to flush rewrite rules on next init
set_transient( 'ddhh_jm_flush_rewrite_rules', 1, 60 );
}

View File

@@ -55,5 +55,8 @@ class DDHH_JM_Job_Manager {
// Initialize Formidable Forms integration
add_action( 'init', array( 'DDHH_JM_Formidable', 'setup_registration_hooks' ) );
// Initialize dashboard
add_action( 'init', array( 'DDHH_JM_Dashboard', 'init' ) );
}
}

55
includes/class-pages.php Normal file
View File

@@ -0,0 +1,55 @@
<?php
/**
* Pages Class
*
* Handles creation of plugin pages during activation
*
* @package DDHH_Job_Manager
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
/**
* Pages functionality
*/
class DDHH_JM_Pages {
/**
* Create provider pages on plugin activation
*/
public static function create_provider_pages() {
// Create Anbieter Dashboard page
self::create_dashboard_page();
}
/**
* Create provider dashboard page
*/
private static function create_dashboard_page() {
// Check if page already exists
$existing_page_id = get_option( 'ddhh_jm_dashboard_page_id' );
if ( $existing_page_id && get_post( $existing_page_id ) ) {
// Page already exists
return;
}
// Create the dashboard page
$page_data = array(
'post_title' => 'Anbieter Dashboard',
'post_name' => 'anbieter-dashboard',
'post_content' => '[ddhh_provider_dashboard]',
'post_status' => 'publish',
'post_type' => 'page',
'post_author' => 1, // Admin user
);
$page_id = wp_insert_post( $page_data );
if ( $page_id && ! is_wp_error( $page_id ) ) {
// Store page ID in options
update_option( 'ddhh_jm_dashboard_page_id', $page_id );
}
}
}