Version Description
- More hooks in the submit process
- Hide apply button if url/email is unset
Download this release
Release Info
Developer | mikejolley |
Plugin | WP Job Manager |
Version | 1.0.4 |
Comparing to | |
See all releases |
Code changes from version 1.0.3 to 1.0.4
- assets/css/frontend.css +1 -1
- assets/css/frontend.less +13 -3
- assets/js/ajax-filters.js +9 -6
- assets/js/ajax-filters.min.js +1 -1
- includes/class-wp-job-manager-ajax.php +5 -5
- includes/class-wp-job-manager-post-types.php +2 -2
- includes/class-wp-job-manager-shortcodes.php +3 -3
- includes/forms/class-wp-job-manager-form-edit-job.php +2 -0
- includes/forms/class-wp-job-manager-form-submit-job.php +6 -2
- readme.txt +5 -1
- templates/job-filters.php +2 -2
- wp-job-manager-template.php +3 -0
- wp-job-manager.php +2 -2
assets/css/frontend.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.clearfix{zoom:1}.clearfix:before,.clearfix:after{content:"";display:table}.clearfix:after{clear:both}.clear{clear:both}.nobr{white-space:nowrap}@font-face{font-family:'Genericons';src:url('../font/genericons-regular-webfont.eot');src:url('../font/genericons-regular-webfont.eot?#iefix') format('embedded-opentype'),url('../font/genericons-regular-webfont.woff') format('woff'),url('../font/genericons-regular-webfont.ttf') format('truetype'),url('../font/genericons-regular-webfont.svg#genericonsregular') format('svg');font-weight:normal;font-style:normal}.display-icon{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline}.job-manager-message,.job-manager-error,.job-manager-info{padding:1em 1em 1em 3.5em;margin:0 0 2em;position:relative;-webkit-border-radius:4px;border-radius:4px;background:#fff;background:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#fff));background:-webkit-linear-gradient(#fff,#fff);background:-moz-linear-gradient(center top,#fff 0,#fff 100%);background:-moz-gradient(center top,#fff 0,#fff 100%);color:#666;text-shadow:0 1px 0 #fff;list-style:none outside;zoom:1;width:auto;-webkit-box-shadow:inset 0 -2px 6px rgba(0,0,0,0.05),inset 0 -2px 30px rgba(0,0,0,0.015),inset 0 1px 0 #fff,0 1px 2px rgba(0,0,0,0.3);box-shadow:inset 0 -2px 6px rgba(0,0,0,0.05),inset 0 -2px 30px rgba(0,0,0,0.015),inset 0 1px 0 #fff,0 1px 2px rgba(0,0,0,0.3)}.job-manager-message:before,.job-manager-error:before,.job-manager-info:before,.job-manager-message:after,.job-manager-error:after,.job-manager-info:after{content:"";display:table}.job-manager-message:after,.job-manager-error:after,.job-manager-info:after{clear:both}.job-manager-message:before,.job-manager-error:before,.job-manager-info:before{content:"";height:1.5em;width:1.5em;display:block;position:absolute;top:0;left:1em;font-family:sans-serif;font-size:1em;line-height:1.5;text-align:center;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,0.2);padding-top:1em;-webkit-border-bottom-left-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-right-radius:4px;box-shadow:inset 0 -1px 0 0 rgba(0,0,0,0.1);-webkit-box-shadow:inset 0 -1px 0 0 rgba(0,0,0,0.1);-moz-box-shadow:inset 0 -1px 0 0 rgba(0,0,0,0.1)}.job-manager-message li,.job-manager-error li,.job-manager-info li{list-style:none outside;padding-left:0;margin-left:0}.job-manager-message.job-manager-message,.job-manager-error.job-manager-message,.job-manager-info.job-manager-message{border-top:3px solid #8fae1b}.job-manager-message.job-manager-message:before,.job-manager-error.job-manager-message:before,.job-manager-info.job-manager-message:before{background-color:#8fae1b;content:"\2713"}.job-manager-message.job-manager-info,.job-manager-error.job-manager-info,.job-manager-info.job-manager-info{border-top:3px solid #1e85be}.job-manager-message.job-manager-info:before,.job-manager-error.job-manager-info:before,.job-manager-info.job-manager-info:before{background-color:#1e85be;content:"i";font-family:Times,Georgia,serif;font-style:italic}.job-manager-message.job-manager-error,.job-manager-error.job-manager-error,.job-manager-info.job-manager-error{border-top:3px solid #b81c23}.job-manager-message.job-manager-error:before,.job-manager-error.job-manager-error:before,.job-manager-info.job-manager-error:before{background-color:#b81c23;content:"\00d7";font-weight:700}.job-manager-form fieldset{margin:0 0 1em 0;padding:0 0 1em 0;line-height:2em;border-bottom:1px solid #eee;overflow:hidden}.job-manager-form fieldset label{display:block;margin:0;width:29%;float:left;vertical-align:middle}.job-manager-form fieldset label small{opacity:.75;font-size:.83em}.job-manager-form fieldset div.field{width:70%;float:right;vertical-align:middle}.job-manager-form fieldset .account-sign-in .button{margin-right:.5em}.job-manager-form fieldset .account-sign-in .button:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\f427'}.job-manager-form fieldset abbr.required{color:red;font-weight:bold;border:0}.job-manager-form fieldset input.input-text,.job-manager-form fieldset textarea,.job-manager-form fieldset select{margin:0;vertical-align:middle;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.job-manager-form fieldset small.description{opacity:.75;font-size:.83em;margin:1.2em 0 0 0;display:block;line-height:1.2em}.job-manager-form fieldset .uploaded_image{line-height:64px;font-style:italic;margin:0 0 1em 0}.job-manager-form fieldset .uploaded_image img{height:64px;vertical-align:middle;margin:0 1em 0 0}.job-manager-form .submit-job{padding:1em 0}ul.job_listings{padding:0;margin:0!important;border-top:1px solid #eee}ul.job_listings.loading{background:url(../images/ajax-loader.gif) no-repeat center}ul.job_listings li.job_listing,ul.job_listings li.no_job_listings_found{list-style:none outside;padding:0;margin:0;border-bottom:1px solid #eee}ul.job_listings li.job_listing.job_position_filled a,ul.job_listings li.no_job_listings_found.job_position_filled a{opacity:.25}ul.job_listings li.job_listing.no_job_listings_found,ul.job_listings li.no_job_listings_found.no_job_listings_found{padding:1em;border-bottom:1px solid #eee}ul.job_listings li.job_listing a,ul.job_listings li.no_job_listings_found a{display:block;padding:1em 1em 1em 2em;overflow:hidden;zoom:1;position:relative;line-height:3em;font-size:1em;text-decoration:none}ul.job_listings li.job_listing a:hover,ul.job_listings li.no_job_listings_found a:hover,ul.job_listings li.job_listing a:focus,ul.job_listings li.no_job_listings_found a:focus{background-color:#fcfcfc}ul.job_listings li.job_listing a img,ul.job_listings li.no_job_listings_found a img{width:42px;height:42px;position:absolute;left:1em;float:left;margin-right:1em;vertical-align:middle;box-shadow:none}ul.job_listings li.job_listing a div.position,ul.job_listings li.no_job_listings_found a div.position,ul.job_listings li.job_listing a div.location,ul.job_listings li.no_job_listings_found a div.location,ul.job_listings li.job_listing a ul.meta,ul.job_listings li.no_job_listings_found a ul.meta{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}ul.job_listings li.job_listing a div.position,ul.job_listings li.no_job_listings_found a div.position{float:left;width:60%;padding:0 0 0 42px;line-height:1.5em}ul.job_listings li.job_listing a div.position h3,ul.job_listings li.no_job_listings_found a div.position h3{margin:0;padding:0;font-size:1em;line-height:1.5em}ul.job_listings li.job_listing a div.position .company,ul.job_listings li.no_job_listings_found a div.position .company{color:#999;font-size:.75em}ul.job_listings li.job_listing a div.position .company .tagline,ul.job_listings li.no_job_listings_found a div.position .company .tagline{margin-left:.5em}ul.job_listings li.job_listing a div.location,ul.job_listings li.no_job_listings_found a div.location{float:left;text-align:left;width:20%;padding:0 0 0 1em;color:#999;font-size:.75em}ul.job_listings li.job_listing a .meta,ul.job_listings li.no_job_listings_found a .meta{float:right;text-align:right;width:20%;padding:0 0 0 1em;margin:0;line-height:1.5em;color:#999;list-style:none outside}ul.job_listings li.job_listing a .meta li,ul.job_listings li.no_job_listings_found a .meta li{list-style:none outside;display:block;font-size:.75em;margin:0}ul.job_listings li.job_listing a .meta .job-type,ul.job_listings li.no_job_listings_found a .meta .job-type{font-weight:bold}.widget ul.job_listings li.job_listing a{padding:1em 0}.widget ul.job_listings li.job_listing .position{float:none;width:auto;padding:0}.widget ul.job_listings li.job_listing ul.meta{float:none;width:auto;padding:0;margin:0;text-align:left}.widget ul.job_listings li.job_listing ul.meta li{float:none;display:inline;padding:0;margin:0 .5em 0 0;font-weight:normal}.widget ul.job_listings li.job_listing ul.meta li:after{padding:0 0 0 .5em;content:"\2023"}.widget ul.job_listings li.job_listing ul.meta li:last-child:after{content:''}.job-manager .job-type,.job_listing .job-type,.job-types .job-type{color:#f08d3c}.job-manager .full-time,.job_listing .full-time,.job-types .full-time{color:#90da36}.job-manager .part-time,.job_listing .part-time,.job-types .part-time{color:#f08d3c}.job-manager .temporary,.job_listing .temporary,.job-types .temporary{color:#d93674}.job-manager .freelance,.job_listing .freelance,.job-types .freelance{color:#39c}.job-manager .internship,.job_listing .internship,.job-types .internship{color:#6033cc}.single_job_listing .company{position:relative;border:1px solid #eee;padding:1em 1em 1em 42px;margin:0 0 2em;display:block;clear:both;min-height:42px}.single_job_listing .company img{width:42px;height:42px;position:absolute;left:1em;float:left;vertical-align:middle;box-shadow:none}.single_job_listing .company .name{margin:0;padding:0 0 0 2em}.single_job_listing .company .name a{float:right;margin-left:1em}.single_job_listing .company .tagline{display:block;margin:0;padding:0 0 0 2em;font-style:italic;color:#999}.single_job_listing .company .website:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\f107'}.single_job_listing .company .company_twitter:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\f202'}.single_job_listing .meta{list-style:none outside;padding:0;margin:0 0 1.5em;overflow:hidden;zoom:1}.single_job_listing .meta li{margin:0 1em 0 0;padding:.5em;float:left;line-height:1em;color:#999}.single_job_listing .meta .job-type{color:#fff;background-color:#f08d3c}.single_job_listing .meta .full-time{background-color:#90da36}.single_job_listing .meta .part-time{background-color:#f08d3c}.single_job_listing .meta .temporary{background-color:#d93674}.single_job_listing .meta .freelance{background-color:#39c}.single_job_listing .meta .internship{background-color:#6033cc}.single_job_listing .meta .position-filled{color:#b81c23}.single_job_listing .meta .location:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\f417'}.single_job_listing .meta .date-posted:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\f307'}.single_job_listing .meta .position-filled:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\f424'}.single_job_listing .application{overflow:hidden;zoom:1;padding-left:20px;margin:0 0 1em}.single_job_listing .application .application_button,.single_job_listing .application .application_details{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.single_job_listing .application .application_button{text-align:center;font-size:1.2em;line-height:1em;width:33.3%;float:left;margin:0 0 0 -20px;padding:.8333333333333334em}.single_job_listing .application .application_details{float:right;width:66.6%;border:1px solid #eee;padding:.75em 1em 0;margin:0;line-height:1.5em;display:block;position:relative}.single_job_listing .application .application_details p{margin:0 0 .75em}.single_job_listing .application .application_details:before{content:"";position:absolute;margin:0 0 0 -10px;left:0;top:1em;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:10px solid #eee}.single_job_listing .application .application_details:after{content:"";position:absolute;margin:1px 0 0 -9px;top:1em;left:0;width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-right:9px solid #fff}.job_filters{background:#eee;zoom:1}.job_filters:before,.job_filters:after{content:"";display:table}.job_filters:after{clear:both}.job_filters .search_jobs{padding:1em;zoom:1}.job_filters .search_jobs:before,.job_filters .search_jobs:after{content:"";display:table}.job_filters .search_jobs:after{clear:both}.job_filters .search_jobs div{width:50%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.job_filters .search_jobs div label{display:none}.job_filters .search_jobs div.search_keywords{float:left;padding-right:.5em}.job_filters .search_jobs div.search_location{float:right;padding-left:.5em}.job_filters .search_jobs div.search_categories{padding-top:.5em;clear:both;width:100%}.job_filters .search_jobs input,.job_filters .search_jobs select{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%}.job_filters .job_types{list-style:none outside;margin:0;padding:0;font-size:.83em;background:#f9f9f9;border-top:1px solid #e5e5e5;zoom:1}.job_filters .job_types:before,.job_filters .job_types:after{content:"";display:table}.job_filters .job_types:after{clear:both}.job_filters .job_types li{margin:0;padding:.5em 1em;float:left;border-right:1px solid #eee}.job_filters .job_types li:last-child{border-right:0}.job_filters .showing_jobs{padding:.5em 1em;display:none;font-size:.83em;background:#f9f9f9;border-top:1px solid #e5e5e5}.job_filters .showing_jobs .reset,.job_filters .showing_jobs .rss_link{float:right}.job_filters .showing_jobs .rss_link{padding-right:10px}.load_more_jobs{text-align:center;display:block;padding:1em 1em 1em 2em;border-bottom:1px solid #eee;font-weight:bold}.load_more_jobs.loading{background:url(../images/ajax-loader.gif) no-repeat center}.load_more_jobs.loading strong{visibility:hidden}.load_more_jobs:hover,.load_more_jobs:focus{background-color:#fcfcfc}.job_listing_preview{padding:0 1em 1em;border:5px solid #eee}.job_listing_preview_title,.entry-content .job_listing_preview_title{padding:.5em 1em;margin-bottom:0;vertical-align:middle;position:relative;background:#eee}.job_listing_preview_title .button,.entry-content .job_listing_preview_title .button{float:right}.job_summary_shortcode{border:1px solid #ccc;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;text-align:center;position:relative;box-shadow:0 2px 4px rgba(0,0,0,0.1),inset 0 1px 0 rgba(255,255,255,0.4);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.job_summary_shortcode.aligncenter{display:block;margin:2em auto 2em}.job_summary_shortcode.alignleft{float:left;margin:0 2em 2em 0}.job_summary_shortcode.alignright{float:right;margin:0 0 2em 2em}.job_summary_shortcode a{text-decoration:none;color:inherit}.job_summary_shortcode img{margin:0;padding:0;display:block;width:100%;-moz-border-radius:0;-webkit-border-radius:0;-moz-border-top-left-radius:3px;-moz-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-radius:0;border-top-left-radius:3px;border-top-right-radius:3px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.4)}.job_summary_shortcode .job_summary_content{padding:0 1em}.job_summary_shortcode .meta{font-style:italic;color:#777}.job_summary_shortcode .job-type{-moz-border-radius:1em;-webkit-border-radius:1em;border-radius:1em;color:#fff;text-shadow:0 1px 0 rgba(255,255,255,0.5);box-shadow:0 2px 4px rgba(0,0,0,0.1),inset 0 1px 0 rgba(255,255,255,0.4);position:absolute;top:0;right:0;padding:.5em;height:1em;width:auto;min-width:1em;font-size:1em;text-align:center;vertical-align:middle;line-height:1em;margin:-0.5em -0.5em 0 0}.job_summary_shortcode .job-type.full-time{background-color:#90da36}.job_summary_shortcode .job-type.part-time{background-color:#f08d3c}.job_summary_shortcode .job-type.temporary{background-color:#d93674}.job_summary_shortcode .job-type.freelance{background-color:#39c}.job_summary_shortcode .job-type.internship{background-color:#6033cc}#job-manager-job-dashboard table ul.job-dashboard-actions{margin:0;padding:0;visibility:hidden;font-size:.92em}#job-manager-job-dashboard table ul.job-dashboard-actions li{float:none;display:inline;padding:0;margin:0 .5em 0 0;font-weight:normal;list-style:none outside}#job-manager-job-dashboard table ul.job-dashboard-actions li:after{padding:0 0 0 .5em;content:"\2023"}#job-manager-job-dashboard table ul.job-dashboard-actions li:last-child:after{content:''}#job-manager-job-dashboard table ul.job-dashboard-actions li .job-dashboard-action-delete{color:red}#job-manager-job-dashboard table tr:hover ul.job-dashboard-actions,#job-manager-job-dashboard table tr:focus ul.job-dashboard-actions{visibility:visible}#job-manager-job-dashboard table .filled,#job-manager-job-dashboard table .expires{text-align:center}
|
1 |
+
.clearfix{zoom:1}.clearfix:before,.clearfix:after{content:"";display:table}.clearfix:after{clear:both}.clear{clear:both}.nobr{white-space:nowrap}@font-face{font-family:'Genericons';src:url('../font/genericons-regular-webfont.eot');src:url('../font/genericons-regular-webfont.eot?#iefix') format('embedded-opentype'),url('../font/genericons-regular-webfont.woff') format('woff'),url('../font/genericons-regular-webfont.ttf') format('truetype'),url('../font/genericons-regular-webfont.svg#genericonsregular') format('svg');font-weight:normal;font-style:normal}.display-icon{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline}.job-manager-message,.job-manager-error,.job-manager-info{padding:1em 1em 1em 3.5em;margin:0 0 2em;position:relative;-webkit-border-radius:4px;border-radius:4px;background:#fff;background:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#fff));background:-webkit-linear-gradient(#fff,#fff);background:-moz-linear-gradient(center top,#fff 0,#fff 100%);background:-moz-gradient(center top,#fff 0,#fff 100%);color:#666;text-shadow:0 1px 0 #fff;list-style:none outside;zoom:1;width:auto;-webkit-box-shadow:inset 0 -2px 6px rgba(0,0,0,0.05),inset 0 -2px 30px rgba(0,0,0,0.015),inset 0 1px 0 #fff,0 1px 2px rgba(0,0,0,0.3);box-shadow:inset 0 -2px 6px rgba(0,0,0,0.05),inset 0 -2px 30px rgba(0,0,0,0.015),inset 0 1px 0 #fff,0 1px 2px rgba(0,0,0,0.3)}.job-manager-message:before,.job-manager-error:before,.job-manager-info:before,.job-manager-message:after,.job-manager-error:after,.job-manager-info:after{content:"";display:table}.job-manager-message:after,.job-manager-error:after,.job-manager-info:after{clear:both}.job-manager-message:before,.job-manager-error:before,.job-manager-info:before{content:"";height:1.5em;width:1.5em;display:block;position:absolute;top:0;left:1em;font-family:sans-serif;font-size:1em;line-height:1.5;text-align:center;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,0.2);padding-top:1em;-webkit-border-bottom-left-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-right-radius:4px;box-shadow:inset 0 -1px 0 0 rgba(0,0,0,0.1);-webkit-box-shadow:inset 0 -1px 0 0 rgba(0,0,0,0.1);-moz-box-shadow:inset 0 -1px 0 0 rgba(0,0,0,0.1)}.job-manager-message li,.job-manager-error li,.job-manager-info li{list-style:none outside;padding-left:0;margin-left:0}.job-manager-message.job-manager-message,.job-manager-error.job-manager-message,.job-manager-info.job-manager-message{border-top:3px solid #8fae1b}.job-manager-message.job-manager-message:before,.job-manager-error.job-manager-message:before,.job-manager-info.job-manager-message:before{background-color:#8fae1b;content:"\2713"}.job-manager-message.job-manager-info,.job-manager-error.job-manager-info,.job-manager-info.job-manager-info{border-top:3px solid #1e85be}.job-manager-message.job-manager-info:before,.job-manager-error.job-manager-info:before,.job-manager-info.job-manager-info:before{background-color:#1e85be;content:"i";font-family:Times,Georgia,serif;font-style:italic}.job-manager-message.job-manager-error,.job-manager-error.job-manager-error,.job-manager-info.job-manager-error{border-top:3px solid #b81c23}.job-manager-message.job-manager-error:before,.job-manager-error.job-manager-error:before,.job-manager-info.job-manager-error:before{background-color:#b81c23;content:"\00d7";font-weight:700}.job-manager-form fieldset{margin:0 0 1em 0;padding:0 0 1em 0;line-height:2em;border-bottom:1px solid #eee;overflow:hidden}.job-manager-form fieldset label{display:block;margin:0;width:29%;float:left;vertical-align:middle}.job-manager-form fieldset label small{opacity:.75;font-size:.83em}.job-manager-form fieldset div.field{width:70%;float:right;vertical-align:middle}.job-manager-form fieldset .account-sign-in .button{margin-right:.5em}.job-manager-form fieldset .account-sign-in .button:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\f427'}.job-manager-form fieldset abbr.required{color:red;font-weight:bold;border:0}.job-manager-form fieldset input.input-text,.job-manager-form fieldset textarea,.job-manager-form fieldset select{margin:0;vertical-align:middle;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.job-manager-form fieldset small.description{opacity:.75;font-size:.83em;margin:1.2em 0 0 0;display:block;line-height:1.2em}.job-manager-form fieldset .uploaded_image{line-height:64px;font-style:italic;margin:0 0 1em 0}.job-manager-form fieldset .uploaded_image img{height:64px;vertical-align:middle;margin:0 1em 0 0}.job-manager-form .submit-job{padding:1em 0}div.job_listings{margin-bottom:1em}ul.job_listings{padding:0;margin:0!important;border-top:1px solid #eee}ul.job_listings.loading{background:url(../images/ajax-loader.gif) no-repeat center}ul.job_listings li.job_listing,ul.job_listings li.no_job_listings_found{list-style:none outside;padding:0;margin:0;border-bottom:1px solid #eee}ul.job_listings li.job_listing.job_position_filled a,ul.job_listings li.no_job_listings_found.job_position_filled a{opacity:.25}ul.job_listings li.job_listing.no_job_listings_found,ul.job_listings li.no_job_listings_found.no_job_listings_found{padding:1em;border-bottom:1px solid #eee}ul.job_listings li.job_listing a,ul.job_listings li.no_job_listings_found a{display:block;padding:1em 1em 1em 2em;overflow:hidden;zoom:1;position:relative;line-height:3em;font-size:1em;text-decoration:none}ul.job_listings li.job_listing a:hover,ul.job_listings li.no_job_listings_found a:hover,ul.job_listings li.job_listing a:focus,ul.job_listings li.no_job_listings_found a:focus{background-color:#fcfcfc}ul.job_listings li.job_listing a img,ul.job_listings li.no_job_listings_found a img{width:42px;height:42px;position:absolute;left:1em;float:left;margin-right:1em;vertical-align:middle;box-shadow:none}ul.job_listings li.job_listing a div.position,ul.job_listings li.no_job_listings_found a div.position,ul.job_listings li.job_listing a div.location,ul.job_listings li.no_job_listings_found a div.location,ul.job_listings li.job_listing a ul.meta,ul.job_listings li.no_job_listings_found a ul.meta{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}ul.job_listings li.job_listing a div.position,ul.job_listings li.no_job_listings_found a div.position{float:left;width:60%;padding:0 0 0 42px;line-height:1.5em}ul.job_listings li.job_listing a div.position h3,ul.job_listings li.no_job_listings_found a div.position h3{margin:0;padding:0;font-size:1em;line-height:1.5em}ul.job_listings li.job_listing a div.position .company,ul.job_listings li.no_job_listings_found a div.position .company{color:#999;font-size:.75em}ul.job_listings li.job_listing a div.position .company .tagline,ul.job_listings li.no_job_listings_found a div.position .company .tagline{margin-left:.5em}ul.job_listings li.job_listing a div.location,ul.job_listings li.no_job_listings_found a div.location{float:left;text-align:left;width:20%;padding:0 0 0 1em;color:#999;font-size:.75em}ul.job_listings li.job_listing a .meta,ul.job_listings li.no_job_listings_found a .meta{float:right;text-align:right;width:20%;padding:0 0 0 1em;margin:0;line-height:1.5em;color:#999;list-style:none outside}ul.job_listings li.job_listing a .meta li,ul.job_listings li.no_job_listings_found a .meta li{list-style:none outside;display:block;font-size:.75em;margin:0}ul.job_listings li.job_listing a .meta .job-type,ul.job_listings li.no_job_listings_found a .meta .job-type{font-weight:bold}.widget ul.job_listings li.job_listing a{padding:1em 0}.widget ul.job_listings li.job_listing .position{float:none;width:auto;padding:0}.widget ul.job_listings li.job_listing ul.meta{float:none;width:auto;padding:0;margin:0;text-align:left}.widget ul.job_listings li.job_listing ul.meta li{float:none;display:inline;padding:0;margin:0 .5em 0 0;font-weight:normal}.widget ul.job_listings li.job_listing ul.meta li:after{padding:0 0 0 .5em;content:"\2023"}.widget ul.job_listings li.job_listing ul.meta li:last-child:after{content:''}.job-manager .job-type,.job_listing .job-type,.job-types .job-type{color:#f08d3c}.job-manager .full-time,.job_listing .full-time,.job-types .full-time{color:#90da36}.job-manager .part-time,.job_listing .part-time,.job-types .part-time{color:#f08d3c}.job-manager .temporary,.job_listing .temporary,.job-types .temporary{color:#d93674}.job-manager .freelance,.job_listing .freelance,.job-types .freelance{color:#39c}.job-manager .internship,.job_listing .internship,.job-types .internship{color:#6033cc}.single_job_listing .company{position:relative;border:1px solid #eee;padding:1em 1em 1em 42px;margin:0 0 2em;display:block;clear:both;min-height:42px}.single_job_listing .company img{width:42px;height:42px;position:absolute;left:1em;float:left;vertical-align:middle;box-shadow:none}.single_job_listing .company .name{margin:0;padding:0 0 0 2em}.single_job_listing .company .name a{float:right;margin-left:1em}.single_job_listing .company .tagline{display:block;margin:0;padding:0 0 0 2em;font-style:italic;color:#999}.single_job_listing .company .website:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\f107'}.single_job_listing .company .company_twitter:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\f202'}.single_job_listing .meta{list-style:none outside;padding:0;margin:0 0 1.5em;overflow:hidden;zoom:1}.single_job_listing .meta li{margin:0 1em 0 0;padding:.5em;float:left;line-height:1em;color:#999}.single_job_listing .meta .job-type{color:#fff;background-color:#f08d3c}.single_job_listing .meta .full-time{background-color:#90da36}.single_job_listing .meta .part-time{background-color:#f08d3c}.single_job_listing .meta .temporary{background-color:#d93674}.single_job_listing .meta .freelance{background-color:#39c}.single_job_listing .meta .internship{background-color:#6033cc}.single_job_listing .meta .position-filled{color:#b81c23}.single_job_listing .meta .location:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\f417'}.single_job_listing .meta .date-posted:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\f307'}.single_job_listing .meta .position-filled:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\f424'}.single_job_listing .application{overflow:hidden;zoom:1;padding-left:20px;margin:0 0 1em}.single_job_listing .application .application_button,.single_job_listing .application .application_details{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.single_job_listing .application .application_button{text-align:center;font-size:1.2em;line-height:1em;width:33.3%;float:left;margin:0 0 0 -20px;padding:.8333333333333334em}.single_job_listing .application .application_details{float:right;width:66.6%;border:1px solid #eee;padding:.75em 1em 0;margin:0;line-height:1.5em;display:block;position:relative}.single_job_listing .application .application_details p{margin:0 0 .75em}.single_job_listing .application .application_details:before{content:"";position:absolute;margin:0 0 0 -10px;left:0;top:1em;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:10px solid #eee}.single_job_listing .application .application_details:after{content:"";position:absolute;margin:1px 0 0 -9px;top:1em;left:0;width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-right:9px solid #fff}.job_filters{background:#eee;zoom:1}.job_filters:before,.job_filters:after{content:"";display:table}.job_filters:after{clear:both}.job_filters .search_jobs{padding:1em;zoom:1}.job_filters .search_jobs:before,.job_filters .search_jobs:after{content:"";display:table}.job_filters .search_jobs:after{clear:both}.job_filters .search_jobs div{width:50%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.job_filters .search_jobs div label{display:none}.job_filters .search_jobs div.search_keywords,.job_filters .search_jobs div.filter_first{float:left;padding-right:.5em}.job_filters .search_jobs div.search_location,.job_filters .search_jobs div.filter_last{float:right;padding-left:.5em}.job_filters .search_jobs div.search_categories,.job_filters .search_jobs div.filter_wide{padding-top:.5em;clear:both;width:100%}.job_filters .search_jobs div a{padding:.25em}.job_filters .search_jobs div a.active{background:#ddd;text-decoration:none}.job_filters .search_jobs input,.job_filters .search_jobs select{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%}.job_filters .job_types{list-style:none outside;margin:0;padding:0;font-size:.83em;background:#f9f9f9;border-top:1px solid #e5e5e5;zoom:1}.job_filters .job_types:before,.job_filters .job_types:after{content:"";display:table}.job_filters .job_types:after{clear:both}.job_filters .job_types li{margin:0;padding:.5em 1em;float:left;border-right:1px solid #eee}.job_filters .job_types li:last-child{border-right:0}.job_filters .showing_jobs{padding:.5em 1em;display:none;font-size:.83em;background:#f9f9f9;border-top:1px solid #e5e5e5}.job_filters .showing_jobs .reset,.job_filters .showing_jobs .rss_link{float:right}.job_filters .showing_jobs .rss_link{padding-right:10px}.load_more_jobs{text-align:center;display:block;padding:1em 1em 1em 2em;border-bottom:1px solid #eee;font-weight:bold}.load_more_jobs.loading{background:url(../images/ajax-loader.gif) no-repeat center}.load_more_jobs.loading strong{visibility:hidden}.load_more_jobs:hover,.load_more_jobs:focus{background-color:#fcfcfc}.job_listing_preview{padding:0 1em 1em;border:5px solid #eee}.job_listing_preview_title,.entry-content .job_listing_preview_title{padding:.5em 1em;margin-bottom:0;vertical-align:middle;position:relative;background:#eee}.job_listing_preview_title .button,.entry-content .job_listing_preview_title .button{float:right}.job_summary_shortcode{border:1px solid #ccc;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;text-align:center;position:relative;box-shadow:0 2px 4px rgba(0,0,0,0.1),inset 0 1px 0 rgba(255,255,255,0.4);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.job_summary_shortcode.aligncenter{display:block;margin:2em auto 2em}.job_summary_shortcode.alignleft{float:left;margin:0 2em 2em 0}.job_summary_shortcode.alignright{float:right;margin:0 0 2em 2em}.job_summary_shortcode a{text-decoration:none;color:inherit}.job_summary_shortcode img{margin:0;padding:0;display:block;width:100%;-moz-border-radius:0;-webkit-border-radius:0;-moz-border-top-left-radius:3px;-moz-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-radius:0;border-top-left-radius:3px;border-top-right-radius:3px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.4)}.job_summary_shortcode .job_summary_content{padding:0 1em}.job_summary_shortcode .meta{font-style:italic;color:#777}.job_summary_shortcode .job-type{-moz-border-radius:1em;-webkit-border-radius:1em;border-radius:1em;color:#fff;text-shadow:0 1px 0 rgba(255,255,255,0.5);box-shadow:0 2px 4px rgba(0,0,0,0.1),inset 0 1px 0 rgba(255,255,255,0.4);position:absolute;top:0;right:0;padding:.5em;height:1em;width:auto;min-width:1em;font-size:1em;text-align:center;vertical-align:middle;line-height:1em;margin:-0.5em -0.5em 0 0}.job_summary_shortcode .job-type.full-time{background-color:#90da36}.job_summary_shortcode .job-type.part-time{background-color:#f08d3c}.job_summary_shortcode .job-type.temporary{background-color:#d93674}.job_summary_shortcode .job-type.freelance{background-color:#39c}.job_summary_shortcode .job-type.internship{background-color:#6033cc}#job-manager-job-dashboard table ul.job-dashboard-actions{margin:0;padding:0;visibility:hidden;font-size:.92em}#job-manager-job-dashboard table ul.job-dashboard-actions li{float:none;display:inline;padding:0;margin:0 .5em 0 0;font-weight:normal;list-style:none outside}#job-manager-job-dashboard table ul.job-dashboard-actions li:after{padding:0 0 0 .5em;content:"\2023"}#job-manager-job-dashboard table ul.job-dashboard-actions li:last-child:after{content:''}#job-manager-job-dashboard table ul.job-dashboard-actions li .job-dashboard-action-delete{color:red}#job-manager-job-dashboard table tr:hover ul.job-dashboard-actions,#job-manager-job-dashboard table tr:focus ul.job-dashboard-actions{visibility:visible}#job-manager-job-dashboard table .filled,#job-manager-job-dashboard table .expires{text-align:center}
|
assets/css/frontend.less
CHANGED
@@ -185,6 +185,9 @@
|
|
185 |
}
|
186 |
|
187 |
}
|
|
|
|
|
|
|
188 |
ul.job_listings {
|
189 |
padding: 0;
|
190 |
margin: 0 !important;
|
@@ -510,19 +513,26 @@ ul.job_listings {
|
|
510 |
label {
|
511 |
display: none;
|
512 |
}
|
513 |
-
&.search_keywords {
|
514 |
float: left;
|
515 |
padding-right: .5em;
|
516 |
}
|
517 |
-
&.search_location {
|
518 |
float: right;
|
519 |
padding-left: .5em;
|
520 |
}
|
521 |
-
&.search_categories {
|
522 |
padding-top: .5em;
|
523 |
clear: both;
|
524 |
width: 100%;
|
525 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
526 |
}
|
527 |
input, select {
|
528 |
-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
|
185 |
}
|
186 |
|
187 |
}
|
188 |
+
div.job_listings {
|
189 |
+
margin-bottom: 1em;
|
190 |
+
}
|
191 |
ul.job_listings {
|
192 |
padding: 0;
|
193 |
margin: 0 !important;
|
513 |
label {
|
514 |
display: none;
|
515 |
}
|
516 |
+
&.search_keywords, &.filter_first {
|
517 |
float: left;
|
518 |
padding-right: .5em;
|
519 |
}
|
520 |
+
&.search_location, &.filter_last {
|
521 |
float: right;
|
522 |
padding-left: .5em;
|
523 |
}
|
524 |
+
&.search_categories, &.filter_wide {
|
525 |
padding-top: .5em;
|
526 |
clear: both;
|
527 |
width: 100%;
|
528 |
}
|
529 |
+
a {
|
530 |
+
padding: .25em;
|
531 |
+
}
|
532 |
+
a.active {
|
533 |
+
background: #ddd;
|
534 |
+
text-decoration: none;
|
535 |
+
}
|
536 |
}
|
537 |
input, select {
|
538 |
-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
|
assets/js/ajax-filters.js
CHANGED
@@ -2,8 +2,9 @@ jQuery(document).ready(function($) {
|
|
2 |
|
3 |
var xhr;
|
4 |
|
5 |
-
|
6 |
|
|
|
7 |
var form = target.find( '.job_filters' );
|
8 |
var showing = target.find( '.showing_jobs' );
|
9 |
var results = target.find( '.job_listings' );
|
@@ -46,7 +47,8 @@ jQuery(document).ready(function($) {
|
|
46 |
per_page: form.find('input[name=per_page]').val(),
|
47 |
orderby: form.find('input[name=orderby]').val(),
|
48 |
order: form.find('input[name=order]').val(),
|
49 |
-
page: page
|
|
|
50 |
};
|
51 |
|
52 |
xhr = $.ajax( {
|
@@ -97,12 +99,12 @@ jQuery(document).ready(function($) {
|
|
97 |
}
|
98 |
}
|
99 |
} );
|
100 |
-
}
|
101 |
|
102 |
$( '#search_keywords, #search_location, .job_types input, #search_categories' ).change( function() {
|
103 |
var target = $(this).closest( 'div.job_listings' );
|
104 |
|
105 |
-
|
106 |
} ).change();
|
107 |
|
108 |
$( '.showing_jobs .reset' ).click( function() {
|
@@ -114,7 +116,8 @@ jQuery(document).ready(function($) {
|
|
114 |
form.find('select[name^=search_categories]').val('');
|
115 |
$('input[name="filter_job_type[]"]', form).attr('checked', 'checked');
|
116 |
|
117 |
-
|
|
|
118 |
|
119 |
return false;
|
120 |
} );
|
@@ -131,7 +134,7 @@ jQuery(document).ready(function($) {
|
|
131 |
|
132 |
$(this).data( 'page', ( page + 1 ) );
|
133 |
|
134 |
-
|
135 |
|
136 |
return false;
|
137 |
} );
|
2 |
|
3 |
var xhr;
|
4 |
|
5 |
+
$( '.job_listings' ).on( 'update_results', function( event, page, append ) {
|
6 |
|
7 |
+
var target = $(this);
|
8 |
var form = target.find( '.job_filters' );
|
9 |
var showing = target.find( '.showing_jobs' );
|
10 |
var results = target.find( '.job_listings' );
|
47 |
per_page: form.find('input[name=per_page]').val(),
|
48 |
orderby: form.find('input[name=orderby]').val(),
|
49 |
order: form.find('input[name=order]').val(),
|
50 |
+
page: page,
|
51 |
+
form_data: form.serialize()
|
52 |
};
|
53 |
|
54 |
xhr = $.ajax( {
|
99 |
}
|
100 |
}
|
101 |
} );
|
102 |
+
} );
|
103 |
|
104 |
$( '#search_keywords, #search_location, .job_types input, #search_categories' ).change( function() {
|
105 |
var target = $(this).closest( 'div.job_listings' );
|
106 |
|
107 |
+
target.trigger( 'update_results', [ 1, false ] );
|
108 |
} ).change();
|
109 |
|
110 |
$( '.showing_jobs .reset' ).click( function() {
|
116 |
form.find('select[name^=search_categories]').val('');
|
117 |
$('input[name="filter_job_type[]"]', form).attr('checked', 'checked');
|
118 |
|
119 |
+
target.trigger( 'reset' );
|
120 |
+
target.trigger( 'update_results', [ 1, false ] );
|
121 |
|
122 |
return false;
|
123 |
} );
|
134 |
|
135 |
$(this).data( 'page', ( page + 1 ) );
|
136 |
|
137 |
+
target.trigger( 'update_results', [ page + 1, true ] );
|
138 |
|
139 |
return false;
|
140 |
} );
|
assets/js/ajax-filters.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
jQuery(document).ready(function(e){
|
1 |
+
jQuery(document).ready(function(e){var t;e(".job_listings").on("update_results",function(n,r,i){var s=e(this),o=s.find(".job_filters"),u=s.find(".showing_jobs"),a=s.find(".job_listings");t&&t.abort();if(i)e(".load_more_jobs",s).addClass("loading");else{e(a).addClass("loading");e("li.job_listing",a).css("visibility","hidden")}var f=new Array;e('input[name="filter_job_type[]"]:checked',o).each(function(){f.push(e(this).val())});var l=o.find("select[name^=search_categories], input[name^=search_categories]").map(function(){return e(this).val()}).get(),c="",h="",p=o.find("input[name=search_keywords]"),d=o.find("input[name=search_location]");p.val()!=p.attr("placeholder")&&(c=p.val());d.val()!=d.attr("placeholder")&&(h=d.val());var v={action:"job_manager_get_listings",search_keywords:c,search_location:h,search_categories:l,filter_job_type:f,per_page:o.find("input[name=per_page]").val(),orderby:o.find("input[name=orderby]").val(),order:o.find("input[name=order]").val(),page:r,form_data:o.serialize()};t=e.ajax({type:"POST",url:job_manager_ajax_filters.ajax_url,data:v,success:function(t){if(t)try{t.indexOf("<!--WPJM-->")>=0&&(t=t.split("<!--WPJM-->")[1]);t.indexOf("<!--WPJM_END-->")>=0&&(t=t.split("<!--WPJM_END-->")[0]);var n=e.parseJSON(t);n.showing?e(u).show().find("span").html(n.showing):e(u).hide();n.rss?e(u).find(".rss_link").attr("href",n.rss).show():e(u).find(".rss_link").hide();n.html&&(i?e(a).append(n.html):e(a).html(n.html));!n.found_jobs||n.max_num_pages==r?e(".load_more_jobs",s).hide():e(".load_more_jobs",s).show().data("page",r);e(a).removeClass("loading");e(".load_more_jobs",s).removeClass("loading");e("li.job_listing",a).css("visibility","visible")}catch(o){console.log(o)}}})});e("#search_keywords, #search_location, .job_types input, #search_categories").change(function(){var t=e(this).closest("div.job_listings");t.trigger("update_results",[1,!1])}).change();e(".showing_jobs .reset").click(function(){var t=e(this).closest("div.job_listings"),n=e(this).closest("form");n.find("input[name=search_keywords]").val("");n.find("input[name=search_location]").val("");n.find("select[name^=search_categories]").val("");e('input[name="filter_job_type[]"]',n).attr("checked","checked");t.trigger("reset");t.trigger("update_results",[1,!1]);return!1});e(".load_more_jobs").click(function(){var t=e(this).closest("div.job_listings");page=e(this).data("page");page?page=parseInt(page):page=1;e(this).data("page",page+1);t.trigger("update_results",[page+1,!0]);return!1})});
|
includes/class-wp-job-manager-ajax.php
CHANGED
@@ -94,7 +94,7 @@ class WP_Job_Manager_Ajax {
|
|
94 |
);
|
95 |
}
|
96 |
|
97 |
-
$jobs = new WP_Query( $args );
|
98 |
|
99 |
$result = array();
|
100 |
$result['found_jobs'] = false;
|
@@ -118,7 +118,7 @@ class WP_Job_Manager_Ajax {
|
|
118 |
// Generate 'showing' text
|
119 |
$types = get_job_listing_types();
|
120 |
|
121 |
-
if ( sizeof( $filter_job_types ) > 0 && ( sizeof( $filter_job_types ) !== sizeof( $types ) || $search_keywords || $search_location || $search_categories ) ) {
|
122 |
$showing_types = array();
|
123 |
$unmatched = false;
|
124 |
|
@@ -158,19 +158,19 @@ class WP_Job_Manager_Ajax {
|
|
158 |
|
159 |
$showing_location = $search_location ? sprintf( ' ' . __( 'located in “%s”', 'job_manager' ), $search_location ) : '';
|
160 |
|
161 |
-
$result['showing'] = $showing_jobs . $showing_location;
|
162 |
|
163 |
} else {
|
164 |
$result['showing'] = '';
|
165 |
}
|
166 |
|
167 |
// Generate RSS link
|
168 |
-
$result['rss'] = get_job_listing_rss_link( array(
|
169 |
'type' => implode( ',', $filter_job_types ),
|
170 |
'location' => $search_location,
|
171 |
'job_categories' => implode( ',', $search_categories ),
|
172 |
's' => $search_keywords,
|
173 |
-
) );
|
174 |
|
175 |
$result['max_num_pages'] = $jobs->max_num_pages;
|
176 |
|
94 |
);
|
95 |
}
|
96 |
|
97 |
+
$jobs = new WP_Query( apply_filters( 'job_manager_get_listings', $args ) );
|
98 |
|
99 |
$result = array();
|
100 |
$result['found_jobs'] = false;
|
118 |
// Generate 'showing' text
|
119 |
$types = get_job_listing_types();
|
120 |
|
121 |
+
if ( sizeof( $filter_job_types ) > 0 && ( sizeof( $filter_job_types ) !== sizeof( $types ) || $search_keywords || $search_location || $search_categories || apply_filters( 'job_manager_get_listings_custom_filter', false ) ) ) {
|
122 |
$showing_types = array();
|
123 |
$unmatched = false;
|
124 |
|
158 |
|
159 |
$showing_location = $search_location ? sprintf( ' ' . __( 'located in “%s”', 'job_manager' ), $search_location ) : '';
|
160 |
|
161 |
+
$result['showing'] = apply_filters( 'job_manager_get_listings_custom_filter_text', $showing_jobs . $showing_location );
|
162 |
|
163 |
} else {
|
164 |
$result['showing'] = '';
|
165 |
}
|
166 |
|
167 |
// Generate RSS link
|
168 |
+
$result['rss'] = get_job_listing_rss_link( apply_filters( 'job_manager_get_listings_custom_filter_rss_args', array(
|
169 |
'type' => implode( ',', $filter_job_types ),
|
170 |
'location' => $search_location,
|
171 |
'job_categories' => implode( ',', $search_categories ),
|
172 |
's' => $search_keywords,
|
173 |
+
) ) );
|
174 |
|
175 |
$result['max_num_pages'] = $jobs->max_num_pages;
|
176 |
|
includes/class-wp-job-manager-post-types.php
CHANGED
@@ -257,7 +257,7 @@ class WP_Job_Manager_Post_Types {
|
|
257 |
)
|
258 |
);
|
259 |
|
260 |
-
if ( $_GET['job_categories'] ) {
|
261 |
$args['tax_query'][] = array(
|
262 |
'taxonomy' => 'job_listing_category',
|
263 |
'field' => 'slug',
|
@@ -265,7 +265,7 @@ class WP_Job_Manager_Post_Types {
|
|
265 |
);
|
266 |
}
|
267 |
|
268 |
-
query_posts( $args );
|
269 |
|
270 |
do_feed_rss2( false );
|
271 |
}
|
257 |
)
|
258 |
);
|
259 |
|
260 |
+
if ( ! empty( $_GET['job_categories'] ) ) {
|
261 |
$args['tax_query'][] = array(
|
262 |
'taxonomy' => 'job_listing_category',
|
263 |
'field' => 'slug',
|
265 |
);
|
266 |
}
|
267 |
|
268 |
+
query_posts( apply_filters( 'job_feed_args', $args ) );
|
269 |
|
270 |
do_feed_rss2( false );
|
271 |
}
|
includes/class-wp-job-manager-shortcodes.php
CHANGED
@@ -160,20 +160,20 @@ class WP_Job_Manager_Shortcodes {
|
|
160 |
|
161 |
ob_start();
|
162 |
|
163 |
-
extract( shortcode_atts( array(
|
164 |
'per_page' => get_option( 'job_manager_per_page' ),
|
165 |
'orderby' => 'date',
|
166 |
'order' => 'desc',
|
167 |
'show_filters' => true,
|
168 |
'show_categories' => get_option( 'job_manager_enable_categories' ),
|
169 |
'categories' => ''
|
170 |
-
), $atts ) );
|
171 |
|
172 |
$categories = array_filter( array_map( 'trim', explode( ',', $categories ) ) );
|
173 |
|
174 |
if ( $show_filters && $show_filters !== 'false' ) {
|
175 |
|
176 |
-
get_job_manager_template( 'job-filters.php', array( 'per_page' => $per_page, 'orderby' => $orderby, 'order' => $order, 'show_categories' => $show_categories, 'categories' => $categories ) );
|
177 |
|
178 |
?><ul class="job_listings"></ul><a class="load_more_jobs" href="#" style="display:none;"><strong><?php _e( 'Load more job listings', 'job_manager' ); ?></strong></a><?php
|
179 |
|
160 |
|
161 |
ob_start();
|
162 |
|
163 |
+
extract( $atts = shortcode_atts( apply_filters( 'job_manager_output_jobs_defaults', array(
|
164 |
'per_page' => get_option( 'job_manager_per_page' ),
|
165 |
'orderby' => 'date',
|
166 |
'order' => 'desc',
|
167 |
'show_filters' => true,
|
168 |
'show_categories' => get_option( 'job_manager_enable_categories' ),
|
169 |
'categories' => ''
|
170 |
+
) ), $atts ) );
|
171 |
|
172 |
$categories = array_filter( array_map( 'trim', explode( ',', $categories ) ) );
|
173 |
|
174 |
if ( $show_filters && $show_filters !== 'false' ) {
|
175 |
|
176 |
+
get_job_manager_template( 'job-filters.php', array( 'per_page' => $per_page, 'orderby' => $orderby, 'order' => $order, 'show_categories' => $show_categories, 'categories' => $categories, 'atts' => $atts ) );
|
177 |
|
178 |
?><ul class="job_listings"></ul><a class="load_more_jobs" href="#" style="display:none;"><strong><?php _e( 'Load more job listings', 'job_manager' ); ?></strong></a><?php
|
179 |
|
includes/forms/class-wp-job-manager-form-edit-job.php
CHANGED
@@ -69,6 +69,8 @@ class WP_Job_Manager_Form_Edit_Job extends WP_Job_Manager_Form_Submit_Job {
|
|
69 |
}
|
70 |
}
|
71 |
|
|
|
|
|
72 |
get_job_manager_template( 'job-submit.php', array(
|
73 |
'form' => self::$form_name,
|
74 |
'job_id' => self::get_job_id(),
|
69 |
}
|
70 |
}
|
71 |
|
72 |
+
self::$fields = apply_filters( 'submit_job_form_fields_get_job_data', self::$fields, $job );
|
73 |
+
|
74 |
get_job_manager_template( 'job-submit.php', array(
|
75 |
'form' => self::$form_name,
|
76 |
'job_id' => self::get_job_id(),
|
includes/forms/class-wp-job-manager-form-submit-job.php
CHANGED
@@ -218,7 +218,7 @@ class WP_Job_Manager_Form_Submit_Job extends WP_Job_Manager_Form {
|
|
218 |
}
|
219 |
|
220 |
/**
|
221 |
-
* Validate
|
222 |
*
|
223 |
* @return bool on success, WP_ERROR on failure
|
224 |
*/
|
@@ -230,7 +230,7 @@ class WP_Job_Manager_Form_Submit_Job extends WP_Job_Manager_Form {
|
|
230 |
}
|
231 |
}
|
232 |
|
233 |
-
return true;
|
234 |
}
|
235 |
|
236 |
/**
|
@@ -318,12 +318,16 @@ class WP_Job_Manager_Form_Submit_Job extends WP_Job_Manager_Form {
|
|
318 |
}
|
319 |
}
|
320 |
|
|
|
|
|
321 |
// Get user meta
|
322 |
} elseif ( is_user_logged_in() && empty( $_POST ) ) {
|
323 |
if ( is_user_logged_in() ) {
|
324 |
foreach ( self::$fields[ 'company' ] as $key => $field ) {
|
325 |
self::$fields[ 'company' ][ $key ]['value'] = get_user_meta( get_current_user_id(), '_' . $key, true );
|
326 |
}
|
|
|
|
|
327 |
}
|
328 |
}
|
329 |
|
218 |
}
|
219 |
|
220 |
/**
|
221 |
+
* Validate the posted fields
|
222 |
*
|
223 |
* @return bool on success, WP_ERROR on failure
|
224 |
*/
|
230 |
}
|
231 |
}
|
232 |
|
233 |
+
return apply_filters( 'submit_job_form_validate_fields', true, self::$fields, $values );
|
234 |
}
|
235 |
|
236 |
/**
|
318 |
}
|
319 |
}
|
320 |
|
321 |
+
self::$fields = apply_filters( 'submit_job_form_fields_get_job_data', self::$fields, $job );
|
322 |
+
|
323 |
// Get user meta
|
324 |
} elseif ( is_user_logged_in() && empty( $_POST ) ) {
|
325 |
if ( is_user_logged_in() ) {
|
326 |
foreach ( self::$fields[ 'company' ] as $key => $field ) {
|
327 |
self::$fields[ 'company' ][ $key ]['value'] = get_user_meta( get_current_user_id(), '_' . $key, true );
|
328 |
}
|
329 |
+
|
330 |
+
self::$fields = apply_filters( 'submit_job_form_fields_get_user_data', self::$fields, get_current_user_id() );
|
331 |
}
|
332 |
}
|
333 |
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=mike.jol
|
|
4 |
Tags: job listing, job board, job, jobs, company
|
5 |
Requires at least: 3.5
|
6 |
Tested up to: 3.5
|
7 |
-
Stable tag: 1.0.
|
8 |
|
9 |
Manage job listings from the WordPress admin panel, and allow users to post jobs directly to your site.
|
10 |
|
@@ -72,6 +72,10 @@ The manual installation method involves downloading the plugin and uploading it
|
|
72 |
|
73 |
== Changelog ==
|
74 |
|
|
|
|
|
|
|
|
|
75 |
= 1.0.3 =
|
76 |
* Some extra hooks in job-filters.php
|
77 |
* Added a workaround for scripts which bork placeholders inside the job filters.
|
4 |
Tags: job listing, job board, job, jobs, company
|
5 |
Requires at least: 3.5
|
6 |
Tested up to: 3.5
|
7 |
+
Stable tag: 1.0.4
|
8 |
|
9 |
Manage job listings from the WordPress admin panel, and allow users to post jobs directly to your site.
|
10 |
|
72 |
|
73 |
== Changelog ==
|
74 |
|
75 |
+
= 1.0.4 =
|
76 |
+
* More hooks in the submit process
|
77 |
+
* Hide apply button if url/email is unset
|
78 |
+
|
79 |
= 1.0.3 =
|
80 |
* Some extra hooks in job-filters.php
|
81 |
* Added a workaround for scripts which bork placeholders inside the job filters.
|
templates/job-filters.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<form class="job_filters">
|
3 |
|
4 |
<div class="search_jobs">
|
5 |
-
<?php do_action( 'job_manager_job_filters_search_jobs_start' ); ?>
|
6 |
|
7 |
<div class="search_keywords">
|
8 |
<label for="search_keywords"><?php _e( 'Keywords', 'job_manager' ); ?></label>
|
@@ -34,7 +34,7 @@
|
|
34 |
<input type="hidden" name="orderby" value="<?php echo esc_attr( $orderby ) ; ?>" />
|
35 |
<input type="hidden" name="order" value="<?php echo esc_attr( $order ) ; ?>" />
|
36 |
|
37 |
-
<?php do_action( 'job_manager_job_filters_search_jobs_end' ); ?>
|
38 |
</div>
|
39 |
|
40 |
<?php if ( ! is_tax( 'job_listing_type' ) ) : ?>
|
2 |
<form class="job_filters">
|
3 |
|
4 |
<div class="search_jobs">
|
5 |
+
<?php do_action( 'job_manager_job_filters_search_jobs_start', $atts ); ?>
|
6 |
|
7 |
<div class="search_keywords">
|
8 |
<label for="search_keywords"><?php _e( 'Keywords', 'job_manager' ); ?></label>
|
34 |
<input type="hidden" name="orderby" value="<?php echo esc_attr( $orderby ) ; ?>" />
|
35 |
<input type="hidden" name="order" value="<?php echo esc_attr( $order ) ; ?>" />
|
36 |
|
37 |
+
<?php do_action( 'job_manager_job_filters_search_jobs_end', $atts ); ?>
|
38 |
</div>
|
39 |
|
40 |
<?php if ( ! is_tax( 'job_listing_type' ) ) : ?>
|
wp-job-manager-template.php
CHANGED
@@ -205,6 +205,9 @@ function get_the_job_application_method( $post = null ) {
|
|
205 |
$method = new stdClass();
|
206 |
$apply = $post->_application;
|
207 |
|
|
|
|
|
|
|
208 |
if ( strstr( $apply, '@' ) && is_email( $apply ) ) {
|
209 |
$method->type = 'email';
|
210 |
$method->raw_email = $apply;
|
205 |
$method = new stdClass();
|
206 |
$apply = $post->_application;
|
207 |
|
208 |
+
if ( empty( $apply ) )
|
209 |
+
return false;
|
210 |
+
|
211 |
if ( strstr( $apply, '@' ) && is_email( $apply ) ) {
|
212 |
$method->type = 'email';
|
213 |
$method->raw_email = $apply;
|
wp-job-manager.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: WP Job Manager
|
4 |
Plugin URI: http://mikejolley.com/projects/wp-job-manager/
|
5 |
Description: Manage job listings from the WordPress admin panel, and allow users to post jobs directly to your site.
|
6 |
-
Version: 1.0.
|
7 |
Author: Mike Jolley
|
8 |
Author URI: http://mikejolley.com
|
9 |
Requires at least: 3.5
|
@@ -28,7 +28,7 @@ class WP_Job_Manager {
|
|
28 |
*/
|
29 |
public function __construct() {
|
30 |
// Define constants
|
31 |
-
define( 'JOB_MANAGER_VERSION', '1.0.
|
32 |
define( 'JOB_MANAGER_PLUGIN_DIR', untrailingslashit( plugin_dir_path( __FILE__ ) ) );
|
33 |
define( 'JOB_MANAGER_PLUGIN_URL', untrailingslashit( plugins_url( basename( plugin_dir_path( __FILE__ ) ), basename( __FILE__ ) ) ) );
|
34 |
|
3 |
Plugin Name: WP Job Manager
|
4 |
Plugin URI: http://mikejolley.com/projects/wp-job-manager/
|
5 |
Description: Manage job listings from the WordPress admin panel, and allow users to post jobs directly to your site.
|
6 |
+
Version: 1.0.4
|
7 |
Author: Mike Jolley
|
8 |
Author URI: http://mikejolley.com
|
9 |
Requires at least: 3.5
|
28 |
*/
|
29 |
public function __construct() {
|
30 |
// Define constants
|
31 |
+
define( 'JOB_MANAGER_VERSION', '1.0.4' );
|
32 |
define( 'JOB_MANAGER_PLUGIN_DIR', untrailingslashit( plugin_dir_path( __FILE__ ) ) );
|
33 |
define( 'JOB_MANAGER_PLUGIN_URL', untrailingslashit( plugins_url( basename( plugin_dir_path( __FILE__ ) ), basename( __FILE__ ) ) ) );
|
34 |
|