=== Job board: Career Page Job Listing ===
Contributors: bizcope
Tags: jobs, careers, recruitment, applications, hiring
Requires at least: 6.4
Tested up to: 8.0
Requires PHP: 7.4
Stable tag: 1.1.5
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Manage job listings, applications, and hiring emails in WordPress with a secure, responsive, professional workflow.

== Description ==

Job board: Career Page Job Listing helps teams publish career opportunities and collect job applications without leaving WordPress. The plugin includes a dedicated Job Listing custom post type, secure application storage, a responsive frontend grid with multiple layout styles, applicant email notifications, and an admin settings page built with the WordPress Settings API.

Features include:

* Custom post type for Job Listings
* Custom post type for Job Applications
* Secure application form with nonce verification, honeypot spam protection, and restricted CV uploads
* Admin-only CV download links backed by protected upload storage
* Responsive job listing shortcode: `[bjcm_job_grid]`
* Five selectable listing styles: Grid, List, Compact, Modern Card, and Minimal
* Application form shortcode: `[bjcm_application_form job_id="123"]`
* Configurable maximum CV upload size from plugin settings
* Search by title, location filter, employment type filter, and pagination
* Admin settings for notification email, jobs per page, primary color, grid layout style, email subjects, and uninstall cleanup
* JSON-LD JobPosting schema output for single job pages
* Internationalization-ready strings using the `bizcope-job-circular-manager` text domain
* Accessibility-conscious form markup and keyboard-friendly buttons

== Installation ==

1. Upload the `bizcope-job-circular-manager` folder to the `/wp-content/plugins/` directory.
2. Activate the plugin through the `Plugins` screen in WordPress.
3. Go to `Job Listings > Settings` to configure notification and display options.
4. Add job posts from `Job Listings > Add New`.
5. Create your own page manually and place `[bjcm_job_grid]` wherever you want to show the frontend job listing.
6. Use `[bjcm_application_form job_id="123"]` if you want to embed a standalone form outside the single job template.

== Frequently Asked Questions ==

= How do I show jobs on the frontend? =

Add the `[bjcm_job_grid]` shortcode to any page, post, or shortcode-compatible area.

= Does the plugin create a job listing page automatically? =

No. The plugin does not auto-create frontend pages. You have full control to create your own pages and place the shortcodes manually.

= Can I choose a different job grid layout? =

Yes. Set a default layout from `Job Listings > Settings`, or override it per shortcode using examples like `[bjcm_job_grid layout="list"]` or `[bjcm_job_grid layout="minimal"]`.

= Where are applications stored? =

Applications are saved as a private admin-facing custom post type inside WordPress under `Job Listings > Applications`.

= Which CV file types are allowed? =

Only PDF, DOC, and DOCX files are accepted. The maximum file size can be configured from the plugin settings screen.

= Are uploaded CV files public? =

No. CV uploads are placed in a protected plugin-specific uploads directory and are intended to be downloaded by authorized admins through secure WordPress links.

= Can I disable the application form temporarily? =

Yes. Go to `Job Listings > Settings` and disable the application form option.

= Does the plugin remove its data on uninstall? =

Only if the `Delete Data on Uninstall` setting is enabled before uninstalling the plugin.

== Screenshots ==

1. Job grid shortcode showing search, filters, and responsive job cards.
2. Single job details page with salary, deadline, and application call-to-action.
3. Frontend application form with validation and secure CV upload.
4. Admin job editor with structured job listing meta fields.
5. Application management screen with candidate details, status, and secure CV download link.
6. Settings page for notifications, appearance, layout style, and uninstall behavior.

== Changelog ==

= 1.1.4 =

* Updated the public plugin branding to Job board: Career Page Job Listing.
* Refreshed plugin metadata, admin settings titles, job listing labels, readme copy, and marketplace marketing language.
* Kept the approved `bizcope-job-circular-manager` slug, text domain, shortcodes, option keys, post type keys, and existing stored data unchanged for backward compatibility.

= 1.1.3 =

* Standardized the marketplace package on the `bizcope-job-circular-manager` slug, main plugin file, text domain, translation template, constants, and release ZIP.
* Kept duplicate-copy handling non-fatal so activation does not show the old duplicate-code fatal message.
* Preserved uninstall protection for historical `business-job-circular-manager` and `job-circular-manager` basenames to keep existing data safe during duplicate cleanup.
* Rebuilt the WordPress.org-ready ZIP and SVN structure from the canonical branded slug.

= 1.1.2 =

* Restored a stable update basename for earlier manual-upload packages so existing installs could update without creating duplicate plugin entries.
* Kept the visible plugin branding as Job board: Career Page Job Listing while aligning the release metadata.
* Added safer uninstall protection to avoid deleting shared plugin data when another copy of the same plugin is still active.
* Rebuilt the ZIP and SVN-ready release structure from a single plugin basename.

= 1.1.1 =

* Added centralized request/security helpers for sanitized GET, POST, FILES, and SERVER access.
* Replaced direct WordPress core include loading with lazy hook-based dependency loading for upload and filesystem APIs.
* Standardized all source text-domain references on `bizcope-job-circular-manager`.
* Hardened form, AJAX, meta box, application download, and frontend filter request handling for WordPress.org review readiness.
* Rebuilt the branded marketplace package and SVN-ready release structure using the canonical `bizcope-job-circular-manager` slug.

= 1.1.0 =

* Renamed the plugin to Job board: Career Page Job Listing and standardized the package on the branded `bizcope-job-circular-manager` slug for safer upgrades.
* Hardened AJAX, form, and settings handling with stronger nonce validation, safer capability checks, and review-friendly settings notices.
* Replaced unsafe JSON-LD output flags, reduced rewrite-conflict risk for clean job permalinks, and removed development logging calls.

= 1.0.12 =

* Restored the original plugin package basename so manual uploads replace the existing install instead of creating a duplicate plugin entry.
* Normalized the main plugin file, folder slug, text domain metadata, and release package structure for safer updates.

= 1.0.11 =

* Fixed the duplicate-plugin bootstrap guard so WordPress activation re-includes do not trigger a false duplicate-activation warning.
* Keeps legacy-folder conflict protection in place while allowing the canonical marketplace package to activate more reliably.

= 1.0.10 =

* Removed the applicant data export/download system to keep the release simpler and lower-risk for marketplace publication.
* Simplified the application management class back to core candidate review, status management, and secure CV download handling.

= 1.0.9 =

* Added targeted application admin/query handling cleanups to keep the review workflow more plugin-check friendly.

= 1.0.8 =

* Improved duplicate-install handling so the marketplace package can deactivate the legacy active copy more gracefully during migration.
* Updated duplicate plugin messaging to guide cleanup without a fatal activation crash.

= 1.0.6 =

* Added a generated translation template file in `languages/bizcope-job-circular-manager.pot`.
* Removed `.DS_Store` macOS metadata files from the release package.
* Prepared a local SVN-ready release structure with `trunk`, `tags/1.0.6`, and `assets` folders for WordPress.org deployment.

= 1.0.5 =

* Fixed remaining 404 issues on clean single-job URLs by resolving root slugs earlier in the WordPress request flow.
* Prevented clean job URLs from overriding existing published pages, posts, or attachments with the same slug.

= 1.0.4 =

* Fixed clean root-level job permalinks so job titles and `View Details` links resolve correctly instead of returning 404 pages.
* Replaced the broad root rewrite dependency with a safer direct job request resolver.

= 1.0.3 =

* Removed the forced `/jobs/` permalink base from single job URLs and switched job links to clean root-level permalinks.
* Kept frontend page creation manual only; the plugin does not auto-create a job grid page on activation.
* Added a one-time rewrite refresh on plugin upgrade so permalink changes apply more reliably after updates.

= 1.0.2 =

* Fixed critical CV download security issues and removed unauthenticated download access.
* Added duplicate-application prevention and IP-based submission rate limiting.
* Added configurable maximum CV file size setting and matching client-side validation.
* Removed unsafe template `extract()` usage and hardened frontend/template data handling.
* Added a per-job application shortcode helper and JobPosting schema output.
* Added job application cleanup when jobs are deleted and synced stored job title snapshots.
* Added cached settings retrieval, application count tooling, and safer uninstall handling for multisite-aware cleanup.
* Improved email handling with logging, delivery tracking, status-update emails, and safer admin review links.

= 1.0.1 =

* Added cache-busting asset versions based on file modification time to prevent stale frontend/admin CSS and JS after updates.
* Added customizable email template settings with dynamic placeholders.
* Improved application success/error handling for both AJAX and non-AJAX submissions.
* Fixed same-page redirects after job application submission.

= 1.0.0 =

* Initial release.
* Added Job Listing and Job Application custom post types.
* Added responsive job grid shortcode with search, filters, pagination, and multiple layout styles.
* Added secure application form shortcode and single job template integration.
* Added email notifications for admins and candidates.
* Added settings page and uninstall cleanup support.

== Upgrade Notice ==

= 1.1.4 =

Branding update only. The plugin slug, text domain, shortcodes, settings, post type keys, and stored data remain backward compatible.

= 1.1.3 =

Standards release for the `bizcope-job-circular-manager` slug. If an older duplicate folder is still installed, deactivate/delete that older inactive copy after confirming uninstall cleanup is disabled.

= 1.1.2 =

Update-package maintenance release for earlier manual-upload builds.

= 1.1.1 =

Security and WordPress.org standards hardening release with centralized request handling, lazy core dependency loading, and a refreshed marketplace package.

= 1.1.0 =

Introduces the branded Job board: Career Page Job Listing identity and a broader WordPress.org compliance hardening pass while keeping the stable `bizcope-job-circular-manager` upgrade path.

= 1.0.12 =

Restores the original plugin package basename and release structure so manual uploads update the existing install cleanly.

= 1.0.11 =

Fixes false duplicate-activation warnings caused by WordPress loading the plugin file more than once during activation.

= 1.0.10 =

Removes the applicant export workflow and simplifies application admin management for a cleaner marketplace release.

= 1.0.9 =

Tightens application admin request handling and keeps the review workflow cleaner.

= 1.0.8 =

Improves activation behavior when migrating from an older copy installed under a different plugin folder.

= 1.0.5 =

Improves clean single-job permalink routing and avoids conflicts with existing root-level content.

= 1.0.4 =

Fixes 404 issues on clean job permalinks while keeping URLs free of the `/jobs/` base.

= 1.0.3 =

Refreshes job permalinks to use clean root-level URLs and keeps page creation fully manual.

= 1.0.2 =

Security, submission workflow, export, and lifecycle improvements for marketplace readiness.

= 1.0.1 =

Refreshes frontend assets correctly after updates and improves application messaging and email template customization.

= 1.0.0 =

Initial stable release of Job board: Career Page Job Listing.
