Files
Digital-Dabei-Hamburg-Job-M…/.planning/phases/05-mentor-job-board/05-04-SUMMARY.md
Viktor Miller 4f33f88d59 docs(05-04): complete job detail page plan
Summary documents single job post access control implementation,
completing Phase 5 backend infrastructure. Elementor template creation
is manual UI work through WordPress admin.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-14 20:51:17 +09:00

1.8 KiB

Phase 5 Plan 4: Job Detail Page Summary

Single job posts now protected from public access, completing backend infrastructure for mentor job board

Accomplishments

  • Added single job post access control following the same pattern as job archive protection
  • Non-logged-in users are redirected to /anbieter-login/ when attempting to access individual job posts
  • Logged-in users (mentors, providers, subscribers) can access job detail pages
  • Backend infrastructure complete - all ACF fields and application form ready for Elementor template integration

Files Created/Modified

  • includes/class-access-control.php - Added protect_single_job() method to restrict single job_offer post access to logged-in users only, using template_redirect hook with redirect to /anbieter-login/

Decisions Made

  • Followed exact pattern from protect_job_archive() for consistency
  • No role-based restrictions on single job posts - any logged-in user can view (mentors need to see jobs, providers need to see their own)
  • Used is_singular('job_offer') instead of is_single() for proper custom post type detection
  • Maintained redirect to home_url('/anbieter-login/') for consistency with archive protection

Issues Encountered

None - straightforward implementation following established access control patterns from Phase 05-01.

Next Step

Phase 5 complete. Elementor template creation is manual UI work through WordPress admin (Templates > Theme Builder > Single > job_offer). All ACF fields available for template: job_title, job_description, job_location, job_type, job_contact_email, job_logo (200x200px). Application form available via shortcode [formidable id="job_application"] or Elementor popup/modal. Ready for Phase 6: Email Notifications (mentor opt-in and async processing).