WordPress Plugin Developer – Workforce Australia Job Importer (Full Build Required)
Upwork

Remoto
•4 days ago
•No application
About
JOB POST: WordPress Plugin Developer – Workforce Australia Job Importer (Full Build Required) Project: Build a complete, from-scratch WordPress plugin that imports jobs from the Workforce Australia API into WP Job Manager. Purpose: Automatically fetch jobs from the Workforce Australia API (using my private subscription key) and create job listings on my site using WP Job Manager. Confidential Data Handling (Important) The plugin must include fields on a settings page where I (the site owner) can enter the following privately, without the developer ever needing to know them: My Primary Subscription Key My Organisation Code My Employer ID (optional) These must be entered only by me inside WP Admin → Settings → Workforce Australia Importer. 1. Plugin Requirements (Full Build From Scratch) This project is a complete, start-to-finish plugin build, including: Plugin structure Admin settings page API integration Sync engine Cron automation Error logging Import/update/delete logic The final delivery must be a fully packaged .zip plugin ready to upload to WordPress. 2. Admin Settings Page (Required Fields) Create settings under: Settings → Workforce Australia Importer Fields the site owner will manually enter: Primary Subscription Key (private) Used as the API header: ***************************** Organisation Code Default: **** Editable in case this changes later Employer ID (optional) If set → import only jobs for this employer If empty → import all jobs for the organisation (keep empty as we need all jobs imported but only 100 at a time for safety) API Base URL Default: https://api.jobs.gov.au/v1/ Page Size Default: 50 Default Logo URL (Optional) Used when job has no logo Include a Save Settings button. 3. Manual Sync Button Add “Run Sync Now” on the settings page. When clicked: Fetches jobs from the API Creates/updates job listings Removes jobs that no longer exist Displays admin notice: “Sync completed — X imported, X updated, X removed.” 4. Automatic Cron Sync Create a WP-Cron event that automatically syncs every: 6 hours Cron must call the same sync logic as the manual button. 5. API Integration Details Base URL default: https://api.jobs.gov.au/v1/ Required header: ********************************** Content-Type: application/json Required query parameters: organisation = user’s value (****) employerId = optional pageSize = user value page = auto-iterate until no results returned 6. Job Mapping to WP Job Manager Each Workforce Australia job must map: API Field WP Job Manager Field job_title post_title job_description post_content job_location job_location employer → name company_name employer → logo company_logo jobUrl application URL jobType job type taxonomy listedAt publish date expiresAt job expiry jobId stored as unique _wfa_job_id Prevent duplicates by checking this unique job ID. If a job already exists → update it. If a job is missing from API → unpublish or delete it. 7. Expired/Removed Job Handling During sync: If a job is no longer returned by the API The plugin must unpublish or trash it automatically 8. Logging & Error Handling Write logs to: wp-content/debug.log Each sync must record: Total API jobs returned Jobs imported Jobs updated Jobs deleted API errors (missing key, 404, invalid organisation, etc.) 9. Development Requirements Developer must: Build the plugin entirely from scratch Follow WordPress coding standards Use WP HTTP API (wp_remote_get) Sanitize/escape all fields Ensure no conflicts with WP Job Manager Prefix or namespace all functions Test plugin on a staging WordPress site Deliver a zip file ready for upload 10. Optional Improvements (Nice to Have) A “Test API Connection” button Progress counter during sync Retry if API rate-limits Toggle for “Trash expired jobs” vs “Unpublish expired jobs” Budget Range $200 AUD depending on experience and delivery quality. To Apply, Developer Must Provide: Examples of custom WordPress plugins they’ve built Experience integrating external APIs Confirm knowledge of WP Job Manager Estimated timeline (target: 3–7 days) Confirmation they can build this without needing to see my confidential key




