Version Description
- Fix: Use wp_kses_post to process a job title instead of esc_html
- Fix: Fix dependencies (npm/composer) problems
- Fix: Decode html special chars for mailto link (@RafaelKr)
- Fix: Reset job filter properly by using jQuery's prop instead of jQuery's attr
- Fix: Fix not translatable string (@masteradhoc)
- Fix: Disable transient cache when the order is set to random or random featured
- Fix: Fix button "Apply for job" when the page is translated using Google Translate
Download this release
Release Info
Developer | fjorgemota |
Plugin | WP Job Manager |
Version | 1.35.3 |
Comparing to | |
See all releases |
Code changes from version 1.35.2 to 1.35.3
- assets/dist/js/ajax-filters.asset.php +1 -1
- assets/dist/js/ajax-filters.js +1 -1
- assets/dist/js/job-application.asset.php +1 -1
- assets/dist/js/job-application.js +1 -1
- changelog.txt +9 -0
- includes/admin/class-wp-job-manager-cpt.php +1 -1
- includes/class-wp-job-manager-shortcodes.php +4 -4
- includes/class-wp-job-manager.php +11 -0
- languages/wp-job-manager.pot +48 -45
- readme.txt +13 -4
- templates/account-signin.php +1 -2
- templates/job-application-email.php +1 -1
- wp-job-manager-functions.php +8 -17
- wp-job-manager.php +4 -4
assets/dist/js/ajax-filters.asset.php
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<?php return array('dependencies' => array('wp-polyfill'), 'version' => '
|
1 |
+
<?php return array('dependencies' => array('wp-polyfill'), 'version' => '72b6145dd5bd17fa4e72122361dd24d0');
|
assets/dist/js/ajax-filters.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(e){var t={};function n(i){if(t[i])return t[i].exports;var o=t[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(i,o,function(t){return e[t]}.bind(null,o));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=3)}([function(e,t){function n(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=n=function(e){return typeof e}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(t)}e.exports=n},,,function(e,t,n){"use strict";n.r(t);var i=n(0),o=n.n(i);jQuery(document).ready((function(e){function t(t){return!(!window.sessionStorage||"function"!=typeof window.sessionStorage.setItem||e(document.body).hasClass("disable-job-manager-form-state-storage")||t.data("disable-form-state-storage"))}function n(t){var n=e("div.job_listings").index(t),i=t.data("post_id");return void 0!==i&&i||(i=window.location.href.replace(location.hash,"")),"job_listing_"+i+"_"+n}function i(e,i){if(!t(e))return!1;"object"!==o()(i)&&(i={});var r=n(e);try{return window.sessionStorage.setItem(r,JSON.stringify(i))}catch(e){}return!1}function r(e){if(!t(e))return!1;var i=n(e);try{var o=window.sessionStorage.getItem(i);if(o)return JSON.parse(o)}catch(e){}return!1}function a(e,n){if(!t(e)||!e)return!1;var o=r(e);return!!o&&(o.persist_results=n,i(e,o))}function s(e){if(!t(e)||!e)return!1;var n=r(e);if(!n)return!1;var o=e.find(".job_filters");return n.form=o.serialize(),i(e,n)}function l(t,n,i){var o=t.find(".job_listings"),r=t.find(".showing_jobs");if("boolean"!=typeof i&&(i=!1),"string"==typeof n.showing&&n.showing){var a=jQuery("<span>").html(n.showing);r.show().html("").html(n.showing_links).prepend(a)}else r.hide();return n.showing_all?r.addClass("wp-job-manager-showing-all"):r.removeClass("wp-job-manager-showing-all"),n.html&&(i?o.append(n.html):o.html(n.html)),!0===t.data("show_pagination")?(t.find(".job-manager-pagination").remove(),n.pagination&&t.append(n.pagination)):(!n.found_jobs||n.max_num_pages<=n.data.page?e(".load_more_jobs:not(.load_previous)",t).hide():e(".load_more_jobs",t).show(),e(".load_more_jobs",t).removeClass("loading").data("page",n.data.page),e("li.job_listing",o).css("visibility","visible")),!0}e(document).on("click","a",(function(){e("div.job_listings").each((function(){s(e(this))}))})),e(document).on("submit","form",(function(){e("div.job_listings").each((function(){s(e(this))}))}));var d=[];e("div.job_listings").on("click","li.job_listing a",(function(){a(e(this).closest("div.job_listings"),!0)})).on("click",".job-manager-pagination a",(function(){var t=e(this).closest("div.job_listings"),n=e(this).data("page");return t.triggerHandler("update_results",[n,!1]),e("body, html").animate({scrollTop:t.offset().top},600),!1})).on("update_results",(function(o,a,s){var c,u,f,g="",p=e(this),_=p.find(".job_filters"),h=p.find(".job_listings"),b=p.data("per_page"),m=p.data("orderby"),y=p.data("order"),j=p.data("featured"),v=p.data("filled"),w=p.data("job_types"),S=p.data("post_status"),k=e("div.job_listings").index(this);if(!(k<0)){if(function(e){if(!t(e))return!1;var i=n(e);try{window.sessionStorage.removeItem(i)}catch(e){return!1}}(p),d[k]&&d[k].abort(),s&&1!==a||(e("li.job_listing, li.no_job_listings_found",h).css("visibility","hidden"),h.addClass("loading")),p.find(".load_more_jobs").data("page",a),!0===p.data("show_filters")){var x=[];e(':input[name="filter_job_type[]"]:checked, :input[name="filter_job_type[]"][type="hidden"], :input[name="filter_job_type"]',_).each((function(){x.push(e(this).val())})),c=_.find(':input[name^="search_categories"]').map((function(){return e(this).val()})).get(),u="",f="";var O=_.find(':input[name="search_keywords"]'),C=_.find(':input[name="search_location"]');O.val()!==O.attr("placeholder")&&(u=O.val()),C.val()!==C.attr("placeholder")&&(f=C.val()),g={lang:job_manager_ajax_filters.lang,search_keywords:u,search_location:f,search_categories:c,filter_job_type:x,filter_post_status:S,per_page:b,orderby:m,order:y,page:a,featured:j,filled:v,show_pagination:p.data("show_pagination"),form_data:_.serialize()}}else c=p.data("categories"),u=p.data("keywords"),f=p.data("location"),c&&("string"!=typeof c&&(c=String(c)),c=c.split(",")),g={lang:job_manager_ajax_filters.lang,search_categories:c,search_keywords:u,search_location:f,filter_post_status:S,filter_job_type:w,per_page:b,orderby:m,order:y,page:a,featured:j,filled:v,show_pagination:p.data("show_pagination")};d[k]=e.ajax({type:"POST",url:job_manager_ajax_filters.ajax_url.toString().replace("%%endpoint%%","get_listings"),data:g,success:function(e){if(e)try{e.data=g,l(p,e,s),h.removeClass("loading"),p.triggerHandler("updated_results",e),function(e,n){if(!t(e))return!1;var o=r(e);o||(o={persist_results:!1});var a=e.find(".job_listings");n.html=a.html(),o.results=n,i(e,o)}(p,e)}catch(e){window.console&&window.console.log(e)}},error:function(e,t,n){window.console&&"abort"!==t&&window.console.log(t+": "+n)},statusCode:{404:function(){window.console&&window.console.log("Error 404: Ajax Endpoint cannot be reached. Go to Settings > Permalinks and save to resolve.")}}})}})),e("#search_keywords, #search_location, .job_types :input, #search_categories, .job-manager-filter").change((function(){var t=e(this).closest("div.job_listings");t.triggerHandler("update_results",[1,!1]),i(t)})).on("keyup",(function(t){13===t.which&&e(this).trigger("change")})),e(".job_filters").on("click",".reset",(function(){var t=e(this).closest("div.job_listings"),n=e(this).closest("form");return n.find(':input[name="search_keywords"], :input[name="search_location"], .job-manager-filter').not(':input[type="hidden"]').val("").trigger("change.select2"),n.find(':input[name^="search_categories"]').not(':input[type="hidden"]').val("").trigger("change.select2"),
|
1 |
+
!function(e){var t={};function n(i){if(t[i])return t[i].exports;var o=t[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(i,o,function(t){return e[t]}.bind(null,o));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=3)}([function(e,t){function n(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=n=function(e){return typeof e}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(t)}e.exports=n},,,function(e,t,n){"use strict";n.r(t);var i=n(0),o=n.n(i);jQuery(document).ready((function(e){function t(t){return!(!window.sessionStorage||"function"!=typeof window.sessionStorage.setItem||e(document.body).hasClass("disable-job-manager-form-state-storage")||t.data("disable-form-state-storage"))}function n(t){var n=e("div.job_listings").index(t),i=t.data("post_id");return void 0!==i&&i||(i=window.location.href.replace(location.hash,"")),"job_listing_"+i+"_"+n}function i(e,i){if(!t(e))return!1;"object"!==o()(i)&&(i={});var r=n(e);try{return window.sessionStorage.setItem(r,JSON.stringify(i))}catch(e){}return!1}function r(e){if(!t(e))return!1;var i=n(e);try{var o=window.sessionStorage.getItem(i);if(o)return JSON.parse(o)}catch(e){}return!1}function a(e,n){if(!t(e)||!e)return!1;var o=r(e);return!!o&&(o.persist_results=n,i(e,o))}function s(e){if(!t(e)||!e)return!1;var n=r(e);if(!n)return!1;var o=e.find(".job_filters");return n.form=o.serialize(),i(e,n)}function l(t,n,i){var o=t.find(".job_listings"),r=t.find(".showing_jobs");if("boolean"!=typeof i&&(i=!1),"string"==typeof n.showing&&n.showing){var a=jQuery("<span>").html(n.showing);r.show().html("").html(n.showing_links).prepend(a)}else r.hide();return n.showing_all?r.addClass("wp-job-manager-showing-all"):r.removeClass("wp-job-manager-showing-all"),n.html&&(i?o.append(n.html):o.html(n.html)),!0===t.data("show_pagination")?(t.find(".job-manager-pagination").remove(),n.pagination&&t.append(n.pagination)):(!n.found_jobs||n.max_num_pages<=n.data.page?e(".load_more_jobs:not(.load_previous)",t).hide():e(".load_more_jobs",t).show(),e(".load_more_jobs",t).removeClass("loading").data("page",n.data.page),e("li.job_listing",o).css("visibility","visible")),!0}e(document).on("click","a",(function(){e("div.job_listings").each((function(){s(e(this))}))})),e(document).on("submit","form",(function(){e("div.job_listings").each((function(){s(e(this))}))}));var d=[];e("div.job_listings").on("click","li.job_listing a",(function(){a(e(this).closest("div.job_listings"),!0)})).on("click",".job-manager-pagination a",(function(){var t=e(this).closest("div.job_listings"),n=e(this).data("page");return t.triggerHandler("update_results",[n,!1]),e("body, html").animate({scrollTop:t.offset().top},600),!1})).on("update_results",(function(o,a,s){var c,u,f,g="",p=e(this),_=p.find(".job_filters"),h=p.find(".job_listings"),b=p.data("per_page"),m=p.data("orderby"),y=p.data("order"),j=p.data("featured"),v=p.data("filled"),w=p.data("job_types"),S=p.data("post_status"),k=e("div.job_listings").index(this);if(!(k<0)){if(function(e){if(!t(e))return!1;var i=n(e);try{window.sessionStorage.removeItem(i)}catch(e){return!1}}(p),d[k]&&d[k].abort(),s&&1!==a||(e("li.job_listing, li.no_job_listings_found",h).css("visibility","hidden"),h.addClass("loading")),p.find(".load_more_jobs").data("page",a),!0===p.data("show_filters")){var x=[];e(':input[name="filter_job_type[]"]:checked, :input[name="filter_job_type[]"][type="hidden"], :input[name="filter_job_type"]',_).each((function(){x.push(e(this).val())})),c=_.find(':input[name^="search_categories"]').map((function(){return e(this).val()})).get(),u="",f="";var O=_.find(':input[name="search_keywords"]'),C=_.find(':input[name="search_location"]');O.val()!==O.attr("placeholder")&&(u=O.val()),C.val()!==C.attr("placeholder")&&(f=C.val()),g={lang:job_manager_ajax_filters.lang,search_keywords:u,search_location:f,search_categories:c,filter_job_type:x,filter_post_status:S,per_page:b,orderby:m,order:y,page:a,featured:j,filled:v,show_pagination:p.data("show_pagination"),form_data:_.serialize()}}else c=p.data("categories"),u=p.data("keywords"),f=p.data("location"),c&&("string"!=typeof c&&(c=String(c)),c=c.split(",")),g={lang:job_manager_ajax_filters.lang,search_categories:c,search_keywords:u,search_location:f,filter_post_status:S,filter_job_type:w,per_page:b,orderby:m,order:y,page:a,featured:j,filled:v,show_pagination:p.data("show_pagination")};d[k]=e.ajax({type:"POST",url:job_manager_ajax_filters.ajax_url.toString().replace("%%endpoint%%","get_listings"),data:g,success:function(e){if(e)try{e.data=g,l(p,e,s),h.removeClass("loading"),p.triggerHandler("updated_results",e),function(e,n){if(!t(e))return!1;var o=r(e);o||(o={persist_results:!1});var a=e.find(".job_listings");n.html=a.html(),o.results=n,i(e,o)}(p,e)}catch(e){window.console&&window.console.log(e)}},error:function(e,t,n){window.console&&"abort"!==t&&window.console.log(t+": "+n)},statusCode:{404:function(){window.console&&window.console.log("Error 404: Ajax Endpoint cannot be reached. Go to Settings > Permalinks and save to resolve.")}}})}})),e("#search_keywords, #search_location, .job_types :input, #search_categories, .job-manager-filter").change((function(){var t=e(this).closest("div.job_listings");t.triggerHandler("update_results",[1,!1]),i(t)})).on("keyup",(function(t){13===t.which&&e(this).trigger("change")})),e(".job_filters").on("click",".reset",(function(){var t=e(this).closest("div.job_listings"),n=e(this).closest("form");return n.find(':input[name="search_keywords"], :input[name="search_location"], .job-manager-filter').not(':input[type="hidden"]').val("").trigger("change.select2"),n.find(':input[name^="search_categories"]').not(':input[type="hidden"]').val("").trigger("change.select2"),n.find(':input[name="filter_job_type[]"]').not(':input[type="hidden"]').prop("checked",!0),t.triggerHandler("reset"),t.triggerHandler("update_results",[1,!1]),i(t),!1})).on("submit",(function(){return!1})),e(document.body).on("click",".load_more_jobs",(function(){var t=e(this).closest("div.job_listings"),n=parseInt(e(this).data("page")||1,10);return e(this).addClass("loading"),n+=1,e(this).data("page",n),t.triggerHandler("update_results",[n,!0]),!1})),e.isFunction(e.fn.select2)&&"undefined"!=typeof job_manager_select2_filters_args&&e('select[name^="search_categories"]:visible').select2(job_manager_select2_filters_args),e(window).on("unload",(function(){return e("div.job_listings").each((function(){var n=r(e(this));n&&!n.persist_results&&function(e){if(!t(e))return!1;var n=r(e);n||(n={}),n.results=null,i(e,n)}(e(this))})),!0})),e("div.job_listings").each((function(){var n=e(this),o=n.find(".job_filters"),s=!1,d=r(n);d&&(d.results&&(s=l(n,d.results),a(n,!1),function(e){if(!t(e))return!1;var n=r(e);n||(n={}),n.form=null,i(e,n)}(n)),"string"==typeof d.form&&""!==d.form&&(o.find("input[type=checkbox]").prop("checked",!1),o.deserialize(d.form),o.find(':input[name^="search_categories"]').not(':input[type="hidden"]').trigger("change.select2"))),!s&&o.length>0&&n.triggerHandler("update_results",[1,!1])}))}))}]);
|
assets/dist/js/job-application.asset.php
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<?php return array('dependencies' => array('wp-polyfill'), 'version' => '
|
1 |
+
<?php return array('dependencies' => array('wp-polyfill'), 'version' => '9dee80bd38bc5becc905eebec5356a5a');
|
assets/dist/js/job-application.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(e){var t={};function o(
|
1 |
+
!function(e){var t={};function o(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,o),i.l=!0,i.exports}o.m=e,o.c=t,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)o.d(n,i,function(t){return e[t]}.bind(null,i));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=5)}({5:function(e,t){jQuery(document).ready((function(e){e("body").hasClass("job-application-details-keep-open")||e(".application_details").hide(),e(document.body).on("click",".job_application .application_button",(function(){var t=e(this).parents(".job_application").find(".application_details").first(),o=e(this);t.slideToggle(400,(function(){if(e(this).is(":visible")){t.trigger("visible");var n=Math.max(Math.min(t.outerHeight(),200),.33*t.outerHeight()),i=t.offset().top+n,r=5;e("#wpadminbar").length>0&&"fixed"===e("#wpadminbar").css("position")&&(r+=e("#wpadminbar").outerHeight()),e("header").length>0&&"fixed"===e("header").css("position")&&(r+=e("header").outerHeight());var a=e(window).scrollTop()+window.innerHeight,l=t.offset().top+t.outerHeight()-a,u=window.innerHeight-r;l>0&&t.outerHeight()<.9*u?e("html, body").animate({scrollTop:e(window).scrollTop()+l+5},400):a<i&&e("html, body").animate({scrollTop:o.offset().top-r},600)}}))}))}))}});
|
changelog.txt
CHANGED
@@ -1,3 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
= 1.35.2 =
|
2 |
* Enhancement: Add agreement checkbox to job submission.
|
3 |
* Fix: Remove unnecessary filter avoiding warning in WP 5.8.
|
1 |
+
= 1.35.3 =
|
2 |
+
* Fix: Use wp_kses_post to process a job title instead of esc_html
|
3 |
+
* Fix: Fix dependencies (npm/composer) problems
|
4 |
+
* Fix: Decode html special chars for mailto link (@RafaelKr)
|
5 |
+
* Fix: Reset job filter properly by using jQuery's prop instead of jQuery's attr
|
6 |
+
* Fix: Fix not translatable string (@masteradhoc)
|
7 |
+
* Fix: Disable transient cache when the order is set to random or random featured
|
8 |
+
* Fix: Fix button "Apply for job" when the page is translated using Google Translate
|
9 |
+
|
10 |
= 1.35.2 =
|
11 |
* Enhancement: Add agreement checkbox to job submission.
|
12 |
* Fix: Remove unnecessary filter avoiding warning in WP 5.8.
|
includes/admin/class-wp-job-manager-cpt.php
CHANGED
@@ -566,7 +566,7 @@ class WP_Job_Manager_CPT {
|
|
566 |
case 'job_position':
|
567 |
echo '<div class="job_position">';
|
568 |
// translators: %d is the post ID for the job listing.
|
569 |
-
echo '<a href="' . esc_url( admin_url( 'post.php?post=' . $post->ID . '&action=edit' ) ) . '" class="tips job_title" data-tip="' . sprintf( esc_html__( 'ID: %d', 'wp-job-manager' ), intval( $post->ID ) ) . '">' .
|
570 |
|
571 |
echo '<div class="company">';
|
572 |
|
566 |
case 'job_position':
|
567 |
echo '<div class="job_position">';
|
568 |
// translators: %d is the post ID for the job listing.
|
569 |
+
echo '<a href="' . esc_url( admin_url( 'post.php?post=' . $post->ID . '&action=edit' ) ) . '" class="tips job_title" data-tip="' . sprintf( esc_html__( 'ID: %d', 'wp-job-manager' ), intval( $post->ID ) ) . '">' . wp_kses_post( wpjm_get_the_job_title() ) . '</a>';
|
570 |
|
571 |
echo '<div class="company">';
|
572 |
|
includes/class-wp-job-manager-shortcodes.php
CHANGED
@@ -162,7 +162,7 @@ class WP_Job_Manager_Shortcodes {
|
|
162 |
|
163 |
// Message.
|
164 |
// translators: Placeholder %s is the job listing title.
|
165 |
-
$this->job_dashboard_message = '<div class="job-manager-message">' .
|
166 |
break;
|
167 |
case 'mark_not_filled':
|
168 |
// Check status.
|
@@ -175,7 +175,7 @@ class WP_Job_Manager_Shortcodes {
|
|
175 |
|
176 |
// Message.
|
177 |
// translators: Placeholder %s is the job listing title.
|
178 |
-
$this->job_dashboard_message = '<div class="job-manager-message">' .
|
179 |
break;
|
180 |
case 'delete':
|
181 |
// Trash it.
|
@@ -183,7 +183,7 @@ class WP_Job_Manager_Shortcodes {
|
|
183 |
|
184 |
// Message.
|
185 |
// translators: Placeholder %s is the job listing title.
|
186 |
-
$this->job_dashboard_message = '<div class="job-manager-message">' .
|
187 |
|
188 |
break;
|
189 |
case 'duplicate':
|
@@ -780,7 +780,7 @@ class WP_Job_Manager_Shortcodes {
|
|
780 |
if ( $jobs->have_posts() ) {
|
781 |
while ( $jobs->have_posts() ) {
|
782 |
$jobs->the_post();
|
783 |
-
echo '<h1>' .
|
784 |
get_job_manager_template_part( 'content-single', 'job_listing' );
|
785 |
}
|
786 |
}
|
162 |
|
163 |
// Message.
|
164 |
// translators: Placeholder %s is the job listing title.
|
165 |
+
$this->job_dashboard_message = '<div class="job-manager-message">' . wp_kses_post( sprintf( __( '%s has been filled', 'wp-job-manager' ), wpjm_get_the_job_title( $job ) ) ) . '</div>';
|
166 |
break;
|
167 |
case 'mark_not_filled':
|
168 |
// Check status.
|
175 |
|
176 |
// Message.
|
177 |
// translators: Placeholder %s is the job listing title.
|
178 |
+
$this->job_dashboard_message = '<div class="job-manager-message">' . wp_kses_post( sprintf( __( '%s has been marked as not filled', 'wp-job-manager' ), wpjm_get_the_job_title( $job ) ) ) . '</div>';
|
179 |
break;
|
180 |
case 'delete':
|
181 |
// Trash it.
|
183 |
|
184 |
// Message.
|
185 |
// translators: Placeholder %s is the job listing title.
|
186 |
+
$this->job_dashboard_message = '<div class="job-manager-message">' . wp_kses_post( sprintf( __( '%s has been deleted', 'wp-job-manager' ), wpjm_get_the_job_title( $job ) ) ) . '</div>';
|
187 |
|
188 |
break;
|
189 |
case 'duplicate':
|
780 |
if ( $jobs->have_posts() ) {
|
781 |
while ( $jobs->have_posts() ) {
|
782 |
$jobs->the_post();
|
783 |
+
echo '<h1>' . wp_kses_post( wpjm_get_the_job_title() ) . '</h1>';
|
784 |
get_job_manager_template_part( 'content-single', 'job_listing' );
|
785 |
}
|
786 |
}
|
includes/class-wp-job-manager.php
CHANGED
@@ -92,6 +92,7 @@ class WP_Job_Manager {
|
|
92 |
add_action( 'wp_logout', [ $this, 'cleanup_job_posting_cookies' ] );
|
93 |
add_action( 'init', [ 'WP_Job_Manager_Email_Notifications', 'init' ] );
|
94 |
add_action( 'rest_api_init', [ $this, 'rest_init' ] );
|
|
|
95 |
|
96 |
// Filters.
|
97 |
add_filter( 'wp_privacy_personal_data_exporters', [ 'WP_Job_Manager_Data_Exporter', 'register_wpjm_user_data_exporter' ] );
|
@@ -571,4 +572,14 @@ class WP_Job_Manager {
|
|
571 |
wp_enqueue_style( 'wp-job-manager-job-listings' );
|
572 |
}
|
573 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
574 |
}
|
92 |
add_action( 'wp_logout', [ $this, 'cleanup_job_posting_cookies' ] );
|
93 |
add_action( 'init', [ 'WP_Job_Manager_Email_Notifications', 'init' ] );
|
94 |
add_action( 'rest_api_init', [ $this, 'rest_init' ] );
|
95 |
+
add_action( 'plugins_loaded', [ $this, 'include_admin_files' ] );
|
96 |
|
97 |
// Filters.
|
98 |
add_filter( 'wp_privacy_personal_data_exporters', [ 'WP_Job_Manager_Data_Exporter', 'register_wpjm_user_data_exporter' ] );
|
572 |
wp_enqueue_style( 'wp-job-manager-job-listings' );
|
573 |
}
|
574 |
}
|
575 |
+
|
576 |
+
/**
|
577 |
+
* This solves a loading order issue which occurs when is_admin() starts to return true at a point after plugin
|
578 |
+
* load. See the below issue for more information: https://github.com/Automattic/evergreen/issues/136
|
579 |
+
*/
|
580 |
+
public function include_admin_files() {
|
581 |
+
if ( is_admin() && ! class_exists( 'WP_Job_Manager_Admin' ) ) {
|
582 |
+
include_once JOB_MANAGER_PLUGIN_DIR . '/includes/admin/class-wp-job-manager-admin.php';
|
583 |
+
}
|
584 |
+
}
|
585 |
}
|
languages/wp-job-manager.pot
CHANGED
@@ -1,17 +1,17 @@
|
|
1 |
-
# Copyright (C)
|
2 |
-
# This file is distributed under the
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: WP Job Manager 1.35.
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-job-manager/\n"
|
7 |
"Last-Translator: \n"
|
8 |
"Language-Team: \n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"POT-Creation-Date:
|
13 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
14 |
-
"X-Generator: WP-CLI 2.
|
15 |
"X-Domain: wp-job-manager\n"
|
16 |
|
17 |
#. Plugin Name of the plugin
|
@@ -196,6 +196,7 @@ msgstr ""
|
|
196 |
msgid "%1$s updated. <a href=\"%2$s\">View</a>"
|
197 |
msgstr ""
|
198 |
|
|
|
199 |
#: includes/admin/class-wp-job-manager-cpt.php:456
|
200 |
msgid "Custom field updated."
|
201 |
msgstr ""
|
@@ -312,6 +313,7 @@ msgstr ""
|
|
312 |
msgid "View"
|
313 |
msgstr ""
|
314 |
|
|
|
315 |
#: includes/admin/class-wp-job-manager-cpt.php:648
|
316 |
#: includes/class-wp-job-manager-post-types.php:340
|
317 |
#: includes/class-wp-job-manager-shortcodes.php:390
|
@@ -1016,6 +1018,7 @@ msgstr[1] ""
|
|
1016 |
msgid "You must be logged in to upload files using this method."
|
1017 |
msgstr ""
|
1018 |
|
|
|
1019 |
#: includes/class-wp-job-manager-data-exporter.php:51
|
1020 |
#: includes/class-wp-job-manager-post-types.php:357
|
1021 |
msgid "Company Logo"
|
@@ -1224,6 +1227,7 @@ msgstr ""
|
|
1224 |
msgid "Jobs"
|
1225 |
msgstr ""
|
1226 |
|
|
|
1227 |
#: includes/class-wp-job-manager-post-types.php:337
|
1228 |
msgid "Add New"
|
1229 |
msgstr ""
|
@@ -1272,7 +1276,7 @@ msgid "This is where you can create and manage %s."
|
|
1272 |
msgstr ""
|
1273 |
|
1274 |
#: includes/class-wp-job-manager-post-types.php:398
|
1275 |
-
#: wp-job-manager-functions.php:
|
1276 |
msgctxt "post status"
|
1277 |
msgid "Expired"
|
1278 |
msgstr ""
|
@@ -1285,7 +1289,7 @@ msgstr[0] ""
|
|
1285 |
msgstr[1] ""
|
1286 |
|
1287 |
#: includes/class-wp-job-manager-post-types.php:411
|
1288 |
-
#: wp-job-manager-functions.php:
|
1289 |
msgctxt "post status"
|
1290 |
msgid "Preview"
|
1291 |
msgstr ""
|
@@ -1413,6 +1417,7 @@ msgstr ""
|
|
1413 |
msgid "Missing submission page."
|
1414 |
msgstr ""
|
1415 |
|
|
|
1416 |
#: includes/class-wp-job-manager-shortcodes.php:341
|
1417 |
#: includes/widgets/class-wp-job-manager-widget-featured-jobs.php:36
|
1418 |
#: includes/widgets/class-wp-job-manager-widget-featured-jobs.php:52
|
@@ -1474,35 +1479,35 @@ msgid "Enable Usage Tracking"
|
|
1474 |
msgstr ""
|
1475 |
|
1476 |
#. translators: Placeholders %1$s and %2$s are the names of the two cookies used in WP Job Manager.
|
1477 |
-
#: includes/class-wp-job-manager.php:
|
1478 |
msgid ""
|
1479 |
"This site adds the following cookies to help users resume job submissions that they\n"
|
1480 |
"\t\t\t\thave started but have not completed: %1$s and %2$s"
|
1481 |
msgstr ""
|
1482 |
|
1483 |
-
#: includes/class-wp-job-manager.php:
|
1484 |
msgid "Load previous listings"
|
1485 |
msgstr ""
|
1486 |
|
1487 |
-
#: includes/class-wp-job-manager.php:
|
1488 |
msgid "Invalid file type. Accepted types:"
|
1489 |
msgstr ""
|
1490 |
|
1491 |
-
#: includes/class-wp-job-manager.php:
|
1492 |
msgid "Any Category"
|
1493 |
msgstr ""
|
1494 |
|
1495 |
#. translators: Placeholder %d is the number of files to that users are limited to.
|
1496 |
-
#: includes/class-wp-job-manager.php:
|
1497 |
#: includes/forms/class-wp-job-manager-form-submit-job.php:462
|
1498 |
msgid "You are only allowed to upload a maximum of %d files."
|
1499 |
msgstr ""
|
1500 |
|
1501 |
-
#: includes/class-wp-job-manager.php:
|
1502 |
msgid "Are you sure you want to delete this listing?"
|
1503 |
msgstr ""
|
1504 |
|
1505 |
-
#: includes/class-wp-job-manager.php:
|
1506 |
msgid "This field is required."
|
1507 |
msgstr ""
|
1508 |
|
@@ -1673,7 +1678,7 @@ msgstr ""
|
|
1673 |
#. translators: Placeholder %1$s is field label; %2$s is the file mime type; %3$s is the allowed mime-types.
|
1674 |
#. translators: %1$s is the file field label; %2$s is the file type; %3$s is the list of allowed file types.
|
1675 |
#: includes/forms/class-wp-job-manager-form-submit-job.php:435
|
1676 |
-
#: wp-job-manager-functions.php:
|
1677 |
msgid "\"%1$s\" (filetype %2$s) needs to be one of the following file types: %3$s"
|
1678 |
msgstr ""
|
1679 |
|
@@ -1893,25 +1898,23 @@ msgstr ""
|
|
1893 |
msgid "Sign in"
|
1894 |
msgstr ""
|
1895 |
|
1896 |
-
|
1897 |
-
|
1898 |
-
msgid "If you don't have an account you can %screate one below by entering your email address/username."
|
1899 |
msgstr ""
|
1900 |
|
1901 |
-
|
1902 |
-
#: templates/account-signin.php:47
|
1903 |
msgid "optionally"
|
1904 |
msgstr ""
|
1905 |
|
1906 |
-
#: templates/account-signin.php:
|
1907 |
msgid "Your account details will be confirmed via email."
|
1908 |
msgstr ""
|
1909 |
|
1910 |
-
#: templates/account-signin.php:
|
1911 |
msgid "You must sign in to create a new listing."
|
1912 |
msgstr ""
|
1913 |
|
1914 |
-
#: templates/account-signin.php:
|
1915 |
#: templates/job-submit.php:43
|
1916 |
#: templates/job-submit.php:60
|
1917 |
msgid "(optional)"
|
@@ -2044,12 +2047,12 @@ msgid "Maximum file size: %s."
|
|
2044 |
msgstr ""
|
2045 |
|
2046 |
#: templates/form-fields/multiselect-field.php:20
|
2047 |
-
#: wp-job-manager-functions.php:
|
2048 |
msgid "No results match"
|
2049 |
msgstr ""
|
2050 |
|
2051 |
#: templates/form-fields/multiselect-field.php:20
|
2052 |
-
#: wp-job-manager-functions.php:
|
2053 |
msgid "Select Some Options"
|
2054 |
msgstr ""
|
2055 |
|
@@ -2142,88 +2145,88 @@ msgstr ""
|
|
2142 |
msgid "%s submitted successfully. Your listing will be visible once approved."
|
2143 |
msgstr ""
|
2144 |
|
2145 |
-
#: wp-job-manager-functions.php:
|
2146 |
msgctxt "post status"
|
2147 |
msgid "Draft"
|
2148 |
msgstr ""
|
2149 |
|
2150 |
-
#: wp-job-manager-functions.php:
|
2151 |
msgctxt "post status"
|
2152 |
msgid "Pending approval"
|
2153 |
msgstr ""
|
2154 |
|
2155 |
-
#: wp-job-manager-functions.php:
|
2156 |
msgctxt "post status"
|
2157 |
msgid "Pending payment"
|
2158 |
msgstr ""
|
2159 |
|
2160 |
-
#: wp-job-manager-functions.php:
|
2161 |
msgctxt "post status"
|
2162 |
msgid "Active"
|
2163 |
msgstr ""
|
2164 |
|
2165 |
-
#: wp-job-manager-functions.php:
|
2166 |
msgid "Reset"
|
2167 |
msgstr ""
|
2168 |
|
2169 |
-
#: wp-job-manager-functions.php:
|
2170 |
msgid "RSS"
|
2171 |
msgstr ""
|
2172 |
|
2173 |
-
#: wp-job-manager-functions.php:
|
2174 |
msgid "Invalid email address."
|
2175 |
msgstr ""
|
2176 |
|
2177 |
-
#: wp-job-manager-functions.php:
|
2178 |
msgid "Your email address isn’t correct."
|
2179 |
msgstr ""
|
2180 |
|
2181 |
-
#: wp-job-manager-functions.php:
|
2182 |
msgid "This email is already registered, please choose another one."
|
2183 |
msgstr ""
|
2184 |
|
2185 |
-
#: wp-job-manager-functions.php:
|
2186 |
msgid "Full Time"
|
2187 |
msgstr ""
|
2188 |
|
2189 |
-
#: wp-job-manager-functions.php:
|
2190 |
msgid "Part Time"
|
2191 |
msgstr ""
|
2192 |
|
2193 |
-
#: wp-job-manager-functions.php:
|
2194 |
msgid "Contractor"
|
2195 |
msgstr ""
|
2196 |
|
2197 |
-
#: wp-job-manager-functions.php:
|
2198 |
msgid "Temporary"
|
2199 |
msgstr ""
|
2200 |
|
2201 |
-
#: wp-job-manager-functions.php:
|
2202 |
msgid "Intern"
|
2203 |
msgstr ""
|
2204 |
|
2205 |
-
#: wp-job-manager-functions.php:
|
2206 |
msgid "Volunteer"
|
2207 |
msgstr ""
|
2208 |
|
2209 |
-
#: wp-job-manager-functions.php:
|
2210 |
msgid "Per Diem"
|
2211 |
msgstr ""
|
2212 |
|
2213 |
-
#: wp-job-manager-functions.php:
|
2214 |
msgid "Other"
|
2215 |
msgstr ""
|
2216 |
|
2217 |
-
#: wp-job-manager-functions.php:
|
2218 |
msgid "Passwords must be at least 8 characters long."
|
2219 |
msgstr ""
|
2220 |
|
2221 |
-
#: wp-job-manager-functions.php:
|
2222 |
msgid "Choose a category…"
|
2223 |
msgstr ""
|
2224 |
|
2225 |
#. translators: %s is the list of allowed file types.
|
2226 |
-
#: wp-job-manager-functions.php:
|
2227 |
msgid "Uploaded files need to be one of the following file types: %s"
|
2228 |
msgstr ""
|
2229 |
|
1 |
+
# Copyright (C) 2022 Automattic
|
2 |
+
# This file is distributed under the GPL2+.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: WP Job Manager 1.35.3\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-job-manager/\n"
|
7 |
"Last-Translator: \n"
|
8 |
"Language-Team: \n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"POT-Creation-Date: 2022-03-02T15:34:10-03:00\n"
|
13 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
14 |
+
"X-Generator: WP-CLI 2.6.0\n"
|
15 |
"X-Domain: wp-job-manager\n"
|
16 |
|
17 |
#. Plugin Name of the plugin
|
196 |
msgid "%1$s updated. <a href=\"%2$s\">View</a>"
|
197 |
msgstr ""
|
198 |
|
199 |
+
#. translators: %1$s is the singular name of the job listing post type; %2$s is the URL to view the listing.
|
200 |
#: includes/admin/class-wp-job-manager-cpt.php:456
|
201 |
msgid "Custom field updated."
|
202 |
msgstr ""
|
313 |
msgid "View"
|
314 |
msgstr ""
|
315 |
|
316 |
+
#. translators: Placeholder %s is the singular label of the job listing post type.
|
317 |
#: includes/admin/class-wp-job-manager-cpt.php:648
|
318 |
#: includes/class-wp-job-manager-post-types.php:340
|
319 |
#: includes/class-wp-job-manager-shortcodes.php:390
|
1018 |
msgid "You must be logged in to upload files using this method."
|
1019 |
msgstr ""
|
1020 |
|
1021 |
+
#. translators: Placeholder %s is the singular label of the job listing post type.
|
1022 |
#: includes/class-wp-job-manager-data-exporter.php:51
|
1023 |
#: includes/class-wp-job-manager-post-types.php:357
|
1024 |
msgid "Company Logo"
|
1227 |
msgid "Jobs"
|
1228 |
msgstr ""
|
1229 |
|
1230 |
+
#. translators: Placeholder %s is the plural label of the job listing post type.
|
1231 |
#: includes/class-wp-job-manager-post-types.php:337
|
1232 |
msgid "Add New"
|
1233 |
msgstr ""
|
1276 |
msgstr ""
|
1277 |
|
1278 |
#: includes/class-wp-job-manager-post-types.php:398
|
1279 |
+
#: wp-job-manager-functions.php:326
|
1280 |
msgctxt "post status"
|
1281 |
msgid "Expired"
|
1282 |
msgstr ""
|
1289 |
msgstr[1] ""
|
1290 |
|
1291 |
#: includes/class-wp-job-manager-post-types.php:411
|
1292 |
+
#: wp-job-manager-functions.php:327
|
1293 |
msgctxt "post status"
|
1294 |
msgid "Preview"
|
1295 |
msgstr ""
|
1417 |
msgid "Missing submission page."
|
1418 |
msgstr ""
|
1419 |
|
1420 |
+
#. translators: Placeholder %s is the plural label for the job listing post type.
|
1421 |
#: includes/class-wp-job-manager-shortcodes.php:341
|
1422 |
#: includes/widgets/class-wp-job-manager-widget-featured-jobs.php:36
|
1423 |
#: includes/widgets/class-wp-job-manager-widget-featured-jobs.php:52
|
1479 |
msgstr ""
|
1480 |
|
1481 |
#. translators: Placeholders %1$s and %2$s are the names of the two cookies used in WP Job Manager.
|
1482 |
+
#: includes/class-wp-job-manager.php:140
|
1483 |
msgid ""
|
1484 |
"This site adds the following cookies to help users resume job submissions that they\n"
|
1485 |
"\t\t\t\thave started but have not completed: %1$s and %2$s"
|
1486 |
msgstr ""
|
1487 |
|
1488 |
+
#: includes/class-wp-job-manager.php:361
|
1489 |
msgid "Load previous listings"
|
1490 |
msgstr ""
|
1491 |
|
1492 |
+
#: includes/class-wp-job-manager.php:489
|
1493 |
msgid "Invalid file type. Accepted types:"
|
1494 |
msgstr ""
|
1495 |
|
1496 |
+
#: includes/class-wp-job-manager.php:507
|
1497 |
msgid "Any Category"
|
1498 |
msgstr ""
|
1499 |
|
1500 |
#. translators: Placeholder %d is the number of files to that users are limited to.
|
1501 |
+
#: includes/class-wp-job-manager.php:523
|
1502 |
#: includes/forms/class-wp-job-manager-form-submit-job.php:462
|
1503 |
msgid "You are only allowed to upload a maximum of %d files."
|
1504 |
msgstr ""
|
1505 |
|
1506 |
+
#: includes/class-wp-job-manager.php:531
|
1507 |
msgid "Are you sure you want to delete this listing?"
|
1508 |
msgstr ""
|
1509 |
|
1510 |
+
#: includes/class-wp-job-manager.php:539
|
1511 |
msgid "This field is required."
|
1512 |
msgstr ""
|
1513 |
|
1678 |
#. translators: Placeholder %1$s is field label; %2$s is the file mime type; %3$s is the allowed mime-types.
|
1679 |
#. translators: %1$s is the file field label; %2$s is the file type; %3$s is the list of allowed file types.
|
1680 |
#: includes/forms/class-wp-job-manager-form-submit-job.php:435
|
1681 |
+
#: wp-job-manager-functions.php:1359
|
1682 |
msgid "\"%1$s\" (filetype %2$s) needs to be one of the following file types: %3$s"
|
1683 |
msgstr ""
|
1684 |
|
1898 |
msgid "Sign in"
|
1899 |
msgstr ""
|
1900 |
|
1901 |
+
#: templates/account-signin.php:46
|
1902 |
+
msgid "If you don't have an account you can create one below by entering your email address/username."
|
|
|
1903 |
msgstr ""
|
1904 |
|
1905 |
+
#: templates/account-signin.php:46
|
|
|
1906 |
msgid "optionally"
|
1907 |
msgstr ""
|
1908 |
|
1909 |
+
#: templates/account-signin.php:48
|
1910 |
msgid "Your account details will be confirmed via email."
|
1911 |
msgstr ""
|
1912 |
|
1913 |
+
#: templates/account-signin.php:53
|
1914 |
msgid "You must sign in to create a new listing."
|
1915 |
msgstr ""
|
1916 |
|
1917 |
+
#: templates/account-signin.php:64
|
1918 |
#: templates/job-submit.php:43
|
1919 |
#: templates/job-submit.php:60
|
1920 |
msgid "(optional)"
|
2047 |
msgstr ""
|
2048 |
|
2049 |
#: templates/form-fields/multiselect-field.php:20
|
2050 |
+
#: wp-job-manager-functions.php:1126
|
2051 |
msgid "No results match"
|
2052 |
msgstr ""
|
2053 |
|
2054 |
#: templates/form-fields/multiselect-field.php:20
|
2055 |
+
#: wp-job-manager-functions.php:1127
|
2056 |
msgid "Select Some Options"
|
2057 |
msgstr ""
|
2058 |
|
2145 |
msgid "%s submitted successfully. Your listing will be visible once approved."
|
2146 |
msgstr ""
|
2147 |
|
2148 |
+
#: wp-job-manager-functions.php:325
|
2149 |
msgctxt "post status"
|
2150 |
msgid "Draft"
|
2151 |
msgstr ""
|
2152 |
|
2153 |
+
#: wp-job-manager-functions.php:328
|
2154 |
msgctxt "post status"
|
2155 |
msgid "Pending approval"
|
2156 |
msgstr ""
|
2157 |
|
2158 |
+
#: wp-job-manager-functions.php:329
|
2159 |
msgctxt "post status"
|
2160 |
msgid "Pending payment"
|
2161 |
msgstr ""
|
2162 |
|
2163 |
+
#: wp-job-manager-functions.php:330
|
2164 |
msgctxt "post status"
|
2165 |
msgid "Active"
|
2166 |
msgstr ""
|
2167 |
|
2168 |
+
#: wp-job-manager-functions.php:451
|
2169 |
msgid "Reset"
|
2170 |
msgstr ""
|
2171 |
|
2172 |
+
#: wp-job-manager-functions.php:455
|
2173 |
msgid "RSS"
|
2174 |
msgstr ""
|
2175 |
|
2176 |
+
#: wp-job-manager-functions.php:563
|
2177 |
msgid "Invalid email address."
|
2178 |
msgstr ""
|
2179 |
|
2180 |
+
#: wp-job-manager-functions.php:571
|
2181 |
msgid "Your email address isn’t correct."
|
2182 |
msgstr ""
|
2183 |
|
2184 |
+
#: wp-job-manager-functions.php:575
|
2185 |
msgid "This email is already registered, please choose another one."
|
2186 |
msgstr ""
|
2187 |
|
2188 |
+
#: wp-job-manager-functions.php:886
|
2189 |
msgid "Full Time"
|
2190 |
msgstr ""
|
2191 |
|
2192 |
+
#: wp-job-manager-functions.php:887
|
2193 |
msgid "Part Time"
|
2194 |
msgstr ""
|
2195 |
|
2196 |
+
#: wp-job-manager-functions.php:888
|
2197 |
msgid "Contractor"
|
2198 |
msgstr ""
|
2199 |
|
2200 |
+
#: wp-job-manager-functions.php:889
|
2201 |
msgid "Temporary"
|
2202 |
msgstr ""
|
2203 |
|
2204 |
+
#: wp-job-manager-functions.php:890
|
2205 |
msgid "Intern"
|
2206 |
msgstr ""
|
2207 |
|
2208 |
+
#: wp-job-manager-functions.php:891
|
2209 |
msgid "Volunteer"
|
2210 |
msgstr ""
|
2211 |
|
2212 |
+
#: wp-job-manager-functions.php:892
|
2213 |
msgid "Per Diem"
|
2214 |
msgstr ""
|
2215 |
|
2216 |
+
#: wp-job-manager-functions.php:893
|
2217 |
msgid "Other"
|
2218 |
msgstr ""
|
2219 |
|
2220 |
+
#: wp-job-manager-functions.php:960
|
2221 |
msgid "Passwords must be at least 8 characters long."
|
2222 |
msgstr ""
|
2223 |
|
2224 |
+
#: wp-job-manager-functions.php:1125
|
2225 |
msgid "Choose a category…"
|
2226 |
msgstr ""
|
2227 |
|
2228 |
#. translators: %s is the list of allowed file types.
|
2229 |
+
#: wp-job-manager-functions.php:1362
|
2230 |
msgid "Uploaded files need to be one of the following file types: %s"
|
2231 |
msgstr ""
|
2232 |
|
readme.txt
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
=== WP Job Manager ===
|
2 |
-
Contributors: mikejolley, automattic, adamkheckler, alexsanford1, annezazu, cena, chaselivingston, csonnek, davor.altman, donnapep, donncha, drawmyface, erania-pinnera, jacobshere, jakeom, jeherve, jenhooks, jgs, jonryan, kraftbj, lamdayap, lschuyler, macmanx, nancythanki, orangesareorange, rachelsquirrel, ryancowles, richardmtl, scarstocea
|
3 |
Tags: job manager, job listing, job board, job management, job lists, job list, job, jobs, company, hiring, employment, employer, employees, candidate, freelance, internship, job listings, positions, board, application, hiring, listing, manager, recruiting, recruitment, talent
|
4 |
-
Requires at least: 5.
|
5 |
-
Tested up to: 5.
|
6 |
Requires PHP: 7.0
|
7 |
-
Stable tag: 1.35.
|
8 |
License: GPLv3
|
9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
@@ -153,6 +153,15 @@ It then creates a database based on the parameters passed to it.
|
|
153 |
|
154 |
== Changelog ==
|
155 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
= 1.35.2 =
|
157 |
* Enhancement: Add agreement checkbox to job submission.
|
158 |
* Fix: Remove unnecessary filter avoiding warning in WP 5.8.
|
1 |
=== WP Job Manager ===
|
2 |
+
Contributors: mikejolley, automattic, adamkheckler, alexsanford1, annezazu, cena, chaselivingston, csonnek, davor.altman, donnapep, donncha, drawmyface, erania-pinnera, fjorgemota, jacobshere, jakeom, jeherve, jenhooks, jgs, jonryan, kraftbj, lamdayap, lschuyler, macmanx, nancythanki, orangesareorange, rachelsquirrel, renathoc, ryancowles, richardmtl, scarstocea
|
3 |
Tags: job manager, job listing, job board, job management, job lists, job list, job, jobs, company, hiring, employment, employer, employees, candidate, freelance, internship, job listings, positions, board, application, hiring, listing, manager, recruiting, recruitment, talent
|
4 |
+
Requires at least: 5.7
|
5 |
+
Tested up to: 5.9
|
6 |
Requires PHP: 7.0
|
7 |
+
Stable tag: 1.35.3
|
8 |
License: GPLv3
|
9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
153 |
|
154 |
== Changelog ==
|
155 |
|
156 |
+
= 1.35.3 =
|
157 |
+
* Fix: Use wp_kses_post to process a job title instead of esc_html
|
158 |
+
* Fix: Fix dependencies (npm/composer) problems
|
159 |
+
* Fix: Decode html special chars for mailto link (@RafaelKr)
|
160 |
+
* Fix: Reset job filter properly by using jQuery's prop instead of jQuery's attr
|
161 |
+
* Fix: Fix not translatable string (@masteradhoc)
|
162 |
+
* Fix: Disable transient cache when the order is set to random or random featured
|
163 |
+
* Fix: Fix button "Apply for job" when the page is translated using Google Translate
|
164 |
+
|
165 |
= 1.35.2 =
|
166 |
* Enhancement: Add agreement checkbox to job submission.
|
167 |
* Fix: Remove unnecessary filter avoiding warning in WP 5.8.
|
templates/account-signin.php
CHANGED
@@ -43,8 +43,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
43 |
|
44 |
<?php if ( $registration_enabled ) : ?>
|
45 |
|
46 |
-
<?php
|
47 |
-
<?php printf( esc_html__( 'If you don\'t have an account you can %screate one below by entering your email address/username.', 'wp-job-manager' ), $account_required ? '' : esc_html__( 'optionally', 'wp-job-manager' ) . ' ' ); ?>
|
48 |
<?php if ( $use_standard_password_email ) : ?>
|
49 |
<?php printf( esc_html__( 'Your account details will be confirmed via email.', 'wp-job-manager' ) ); ?>
|
50 |
<?php endif; ?>
|
43 |
|
44 |
<?php if ( $registration_enabled ) : ?>
|
45 |
|
46 |
+
<?php printf( esc_html__( 'If you don\'t have an account you can create one below by entering your email address/username.', 'wp-job-manager' ), $account_required ? '' : esc_html__( 'optionally', 'wp-job-manager' ) . ' ' ); ?>
|
|
|
47 |
<?php if ( $use_standard_password_email ) : ?>
|
48 |
<?php printf( esc_html__( 'Your account details will be confirmed via email.', 'wp-job-manager' ) ); ?>
|
49 |
<?php endif; ?>
|
templates/job-application-email.php
CHANGED
@@ -16,4 +16,4 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
16 |
}
|
17 |
?>
|
18 |
<?php // translators: %1$s is the email address, %2$s is the subject query args. ?>
|
19 |
-
<p><?php printf( wp_kses_post( __( 'To apply for this job <strong>email your details to</strong> <a class="job_application_email" href="mailto:%1$s%2$s">%1$s</a>', 'wp-job-manager' ) ), esc_html( $apply->email ), '?subject=' . rawurlencode( $apply->subject ) ); ?></p>
|
16 |
}
|
17 |
?>
|
18 |
<?php // translators: %1$s is the email address, %2$s is the subject query args. ?>
|
19 |
+
<p><?php printf( wp_kses_post( __( 'To apply for this job <strong>email your details to</strong> <a class="job_application_email" href="mailto:%1$s%2$s">%1$s</a>', 'wp-job-manager' ) ), esc_html( $apply->email ), '?subject=' . rawurlencode( wp_specialchars_decode( $apply->subject, ENT_QUOTES ) ) ); ?></p>
|
wp-job-manager-functions.php
CHANGED
@@ -162,13 +162,14 @@ if ( ! function_exists( 'get_job_listings' ) ) :
|
|
162 |
|
163 |
do_action( 'before_get_job_listings', $query_args, $args );
|
164 |
|
|
|
|
|
165 |
// Cache results.
|
166 |
-
if ( apply_filters( 'get_job_listings_cache_results',
|
167 |
-
$to_hash
|
168 |
-
$query_args_hash
|
169 |
-
$result
|
170 |
-
$
|
171 |
-
$cached_query_posts = get_transient( $query_args_hash );
|
172 |
if ( is_string( $cached_query_posts ) ) {
|
173 |
$cached_query_posts = json_decode( $cached_query_posts, false );
|
174 |
if (
|
@@ -196,8 +197,7 @@ if ( ! function_exists( 'get_job_listings' ) ) :
|
|
196 |
}
|
197 |
|
198 |
if ( false === $result ) {
|
199 |
-
$result
|
200 |
-
$cached_query_results = false;
|
201 |
|
202 |
$cacheable_result = [];
|
203 |
$cacheable_result['posts'] = array_values( $result->posts );
|
@@ -205,15 +205,6 @@ if ( ! function_exists( 'get_job_listings' ) ) :
|
|
205 |
$cacheable_result['max_num_pages'] = $result->max_num_pages;
|
206 |
set_transient( $query_args_hash, wp_json_encode( $cacheable_result ), DAY_IN_SECONDS );
|
207 |
}
|
208 |
-
|
209 |
-
if ( $cached_query_results ) {
|
210 |
-
// random order is cached so shuffle them.
|
211 |
-
if ( 'rand_featured' === $args['orderby'] ) {
|
212 |
-
usort( $result->posts, '_wpjm_shuffle_featured_post_results_helper' );
|
213 |
-
} elseif ( 'rand' === $args['orderby'] ) {
|
214 |
-
shuffle( $result->posts );
|
215 |
-
}
|
216 |
-
}
|
217 |
} else {
|
218 |
$result = new WP_Query( $query_args );
|
219 |
}
|
162 |
|
163 |
do_action( 'before_get_job_listings', $query_args, $args );
|
164 |
|
165 |
+
$should_cache = 'rand_featured' !== $args['orderby'] && 'rand' !== $args['orderby'];
|
166 |
+
|
167 |
// Cache results.
|
168 |
+
if ( apply_filters( 'get_job_listings_cache_results', $should_cache ) ) {
|
169 |
+
$to_hash = wp_json_encode( $query_args );
|
170 |
+
$query_args_hash = 'jm_' . md5( $to_hash . JOB_MANAGER_VERSION ) . WP_Job_Manager_Cache_Helper::get_transient_version( 'get_job_listings' );
|
171 |
+
$result = false;
|
172 |
+
$cached_query_posts = get_transient( $query_args_hash );
|
|
|
173 |
if ( is_string( $cached_query_posts ) ) {
|
174 |
$cached_query_posts = json_decode( $cached_query_posts, false );
|
175 |
if (
|
197 |
}
|
198 |
|
199 |
if ( false === $result ) {
|
200 |
+
$result = new WP_Query( $query_args );
|
|
|
201 |
|
202 |
$cacheable_result = [];
|
203 |
$cacheable_result['posts'] = array_values( $result->posts );
|
205 |
$cacheable_result['max_num_pages'] = $result->max_num_pages;
|
206 |
set_transient( $query_args_hash, wp_json_encode( $cacheable_result ), DAY_IN_SECONDS );
|
207 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
208 |
} else {
|
209 |
$result = new WP_Query( $query_args );
|
210 |
}
|
wp-job-manager.php
CHANGED
@@ -3,11 +3,11 @@
|
|
3 |
* Plugin Name: WP Job Manager
|
4 |
* Plugin URI: https://wpjobmanager.com/
|
5 |
* Description: Manage job listings from the WordPress admin panel, and allow users to post jobs directly to your site.
|
6 |
-
* Version: 1.35.
|
7 |
* Author: Automattic
|
8 |
* Author URI: https://wpjobmanager.com/
|
9 |
-
* Requires at least: 5.
|
10 |
-
* Tested up to: 5.
|
11 |
* Requires PHP: 7.0
|
12 |
* Text Domain: wp-job-manager
|
13 |
* Domain Path: /languages/
|
@@ -21,7 +21,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
21 |
}
|
22 |
|
23 |
// Define constants.
|
24 |
-
define( 'JOB_MANAGER_VERSION', '1.35.
|
25 |
define( 'JOB_MANAGER_PLUGIN_DIR', untrailingslashit( plugin_dir_path( __FILE__ ) ) );
|
26 |
define( 'JOB_MANAGER_PLUGIN_URL', untrailingslashit( plugins_url( basename( plugin_dir_path( __FILE__ ) ), basename( __FILE__ ) ) ) );
|
27 |
define( 'JOB_MANAGER_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
|
3 |
* Plugin Name: WP Job Manager
|
4 |
* Plugin URI: https://wpjobmanager.com/
|
5 |
* Description: Manage job listings from the WordPress admin panel, and allow users to post jobs directly to your site.
|
6 |
+
* Version: 1.35.3
|
7 |
* Author: Automattic
|
8 |
* Author URI: https://wpjobmanager.com/
|
9 |
+
* Requires at least: 5.7
|
10 |
+
* Tested up to: 5.9
|
11 |
* Requires PHP: 7.0
|
12 |
* Text Domain: wp-job-manager
|
13 |
* Domain Path: /languages/
|
21 |
}
|
22 |
|
23 |
// Define constants.
|
24 |
+
define( 'JOB_MANAGER_VERSION', '1.35.3' );
|
25 |
define( 'JOB_MANAGER_PLUGIN_DIR', untrailingslashit( plugin_dir_path( __FILE__ ) ) );
|
26 |
define( 'JOB_MANAGER_PLUGIN_URL', untrailingslashit( plugins_url( basename( plugin_dir_path( __FILE__ ) ), basename( __FILE__ ) ) ) );
|
27 |
define( 'JOB_MANAGER_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
|