JobLister is a free and open-source WordPress plugin that allows you to set up a job listing page on your WordPress website using a simple [jbls_jobs] shortcode. The plugin is powered by React and functions as a Single-page app, providing a range of features including a search functionality, filters, an application form, and a RTL-ready design.
This guide outlines the steps to configure the development environment for JobLister. Follow the instructions closely to ensure a successful setup.
-
Confirm that Docker Desktop is installed and actively running on your system.
-
Install
wp-envglobally on your system if it isn't already installed:npm -g i @wordpress/env
- Clone repository and navigate to its directory:
git clone https://github.com/PictureElement/joblister.git
cd joblister- Install necessary dependencies:
npm install- Deploy a local WordPress instance:
wp-env start-
Access the WordPress dashboard at http://localhost:8888/wp-admin/. Use
admin/passwordas login credentials. -
Install and activate the Radio Buttons for Taxonomies plugin, a required dependency for JobLister to function correctly.
-
Navigate to "Settings > Radio Buttons for Taxonomies" and select
jbls_category,jbls_experience_level,jbls_location, andjbls_type, and save your changes. -
To interact with the plugin, insert the [jbls_jobs] shortcode on any page.
-
Begin development with fast refresh:
npm run start:hotWhen ready to move JobLister into a production environment, follow these steps:
-
Navigate to the plugin's directory.
-
Compile the production-ready version:
npm run build- Create a distributable zip file:
npm run plugin-zipThis process compiles all necessary files into a zip format, ready for deployment in a production environment.
- Free and Open Source: Collaborate with the community to improve JobLister.
- Single Page Application with React: Offers lightning-fast interactions and a seamless user experience.
- Versatile Job Listings Display:
- Overview Mode: List jobs with search and filter capabilities.
- Detail Mode: View job details and apply directly.
- Efficient Job Search and Filter Functionality: Narrow down job searches by keywords, categories, location, type, and experience.
- Enhanced Bookmarking and Sharing: Utilized filter, page, and query parameters in the URL.
- Customization Settings: Personalize appearance and functionality with an intuitive settings page.
- No Account Required: Applicants can submit job applications without the need to log in, ensuring a user-friendly and accessible process.
- Convenient Pagination: Navigate through job listings with ease.
- Spam-free submissions: Use a form protected by Google reCAPTCHA.
- Responsive Design: Ensures a seamless experience across all devices.
- RTL-Ready Design: Supports right-to-left languages.
Job Listings, Search & Filters - Light Theme
Job Listings, Search & Filters - Dark Theme
Single Job Listing With Application Form - Light Theme
Single Job Listing With Application Form - Dark Theme
- Detect network status and alert your users when they've lost internet connectivity. (Offline.js or navigator.onLine).
- Implement error handling for API GET requests to provide clear user feedback.
- Accept resumes in more formats.
- Send notification emails.
To make custom post types and custom taxonomies available to FakerPress, set "public" => true in the respective post type and taxonomy configurations. However, it's crucial to revert this setting to "public" => false if you're operating in a production environment.
The following routes & endpoints are available for interacting with JobLister:
wp-json/jbls/v1/jbls-jobs- GET endpoint to fetch all jobs
wp-json/jbls/v1/jbls-categories- GET endpoint to fetch all categories
wp-json/jbls/v1/jbls-locations- GET endpoint to fetch all locations
wp-json/jbls/v1/jbls-types- GET endpoint to fetch all types
wp-json/jbls/v1/jbls-experience-levels- GET endpoint to fetch all experience levels
wp-json/jbls/v1/jbls-applications- POST endpoint to submit a job application
Special thanks to Helga the Viking for developing the Radio Buttons for Taxonomies plugin, which is a crucial dependency for JobLister.
Your contributions are highly appreciated! If you wish to contribute to this project, please adhere to the following steps:
- Fork the repository.
- Create a new branch for your feature or bug fix:
git checkout -b feature/your-feature. - Make your modifications and commit them:
git commit -m 'Add a new feature'. - Push to the branch:
git push origin feature/your-feature. - Open a pull request.
© 2024 Marios Sofokleous. Code released under the GPL-3.0 license.









