Changeset 3468765
- Timestamp:
- 02/24/2026 04:15:57 PM (5 weeks ago)
- Location:
- wp-job-manager
- Files:
-
- 32 edited
- 1 copied
-
tags/2.4.1 (copied) (copied from wp-job-manager/trunk)
-
tags/2.4.1/changelog.txt (modified) (1 diff)
-
tags/2.4.1/includes/class-job-dashboard-shortcode.php (modified) (2 diffs)
-
tags/2.4.1/includes/class-wp-job-manager-ajax.php (modified) (1 diff)
-
tags/2.4.1/includes/class-wp-job-manager-post-types.php (modified) (1 diff)
-
tags/2.4.1/includes/class-wp-job-manager-recaptcha.php (modified) (1 diff)
-
tags/2.4.1/includes/class-wp-job-manager-shortcodes.php (modified) (2 diffs)
-
tags/2.4.1/languages/wp-job-manager.pot (modified) (114 diffs)
-
tags/2.4.1/readme.txt (modified) (3 diffs)
-
tags/2.4.1/templates/form-fields/file-field.php (modified) (1 diff)
-
tags/2.4.1/vendor/autoload.php (modified) (1 diff)
-
tags/2.4.1/vendor/composer/InstalledVersions.php (modified) (5 diffs)
-
tags/2.4.1/vendor/composer/autoload_static.php (modified) (3 diffs)
-
tags/2.4.1/vendor/composer/installed.php (modified) (2 diffs)
-
tags/2.4.1/vendor/composer/platform_check.php (modified) (1 diff)
-
tags/2.4.1/wp-job-manager-template.php (modified) (2 diffs)
-
tags/2.4.1/wp-job-manager.php (modified) (2 diffs)
-
trunk/changelog.txt (modified) (1 diff)
-
trunk/includes/class-job-dashboard-shortcode.php (modified) (2 diffs)
-
trunk/includes/class-wp-job-manager-ajax.php (modified) (1 diff)
-
trunk/includes/class-wp-job-manager-post-types.php (modified) (1 diff)
-
trunk/includes/class-wp-job-manager-recaptcha.php (modified) (1 diff)
-
trunk/includes/class-wp-job-manager-shortcodes.php (modified) (2 diffs)
-
trunk/languages/wp-job-manager.pot (modified) (114 diffs)
-
trunk/readme.txt (modified) (3 diffs)
-
trunk/templates/form-fields/file-field.php (modified) (1 diff)
-
trunk/vendor/autoload.php (modified) (1 diff)
-
trunk/vendor/composer/InstalledVersions.php (modified) (5 diffs)
-
trunk/vendor/composer/autoload_static.php (modified) (3 diffs)
-
trunk/vendor/composer/installed.php (modified) (2 diffs)
-
trunk/vendor/composer/platform_check.php (modified) (1 diff)
-
trunk/wp-job-manager-template.php (modified) (2 diffs)
-
trunk/wp-job-manager.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
wp-job-manager/tags/2.4.1/changelog.txt
r3132877 r3468765 1 1 # WP Job Manager 2 3 ## 2.4.1 - 2026-02-24 4 * Add permission check to listing query parameters (#2914) 5 * Fix structured data output for password-protected listings (#2913) 6 7 * Update actions/cache to use v4 (#2896) 8 * reCaptcha script not being loaded (#2893) 9 * add a additional action to the do_feed_rss2 10 * fix hardcoded dashboard expiration date format 11 * Dev: Fix deprecated methods 12 * Fix file input field for forms not marked as required 2 13 3 14 ## 2.4.0 - 2024-08-08 -
wp-job-manager/tags/2.4.1/includes/class-job-dashboard-shortcode.php
r3078797 r3468765 595 595 596 596 /** 597 * Show job title.597 * Show the job date 598 598 * 599 599 * @param \WP_Post $job … … 602 602 */ 603 603 public static function the_date( $job ) { 604 echo '<div>' . esc_html( wp_date( apply_filters( 'job_manager_get_dashboard_date_format', 'M d, Y' ), get_post_datetime( $job )->getTimestamp() ) ) . '</div>'; 604 $date_format = get_option( 'date_format' ) ?: 'M d, Y'; 605 echo '<div>' . esc_html( wp_date( apply_filters( 'job_manager_get_dashboard_date_format', $date_format ), get_post_datetime( $job )->getTimestamp() ) ) . '</div>'; 605 606 } 606 607 -
wp-job-manager/tags/2.4.1/includes/class-wp-job-manager-ajax.php
r3028247 r3468765 145 145 } 146 146 147 // Ensure the current user can filter by post_status. 148 if ( is_array( $filter_post_status ) && ! current_user_can( \WP_Job_Manager_Post_Types::CAP_EDIT_LISTINGS ) ) { 149 $filter_post_status = null; 150 } 151 147 152 $types = get_job_listing_types(); 148 153 $job_types_filtered = ! is_null( $filter_job_types ) && count( $types ) !== count( $filter_job_types ); -
wp-job-manager/tags/2.4.1/includes/class-wp-job-manager-post-types.php
r3132877 r3468765 808 808 add_action( 'rss2_ns', [ $this, 'job_feed_namespace' ] ); 809 809 add_action( 'rss2_item', [ $this, 'job_feed_item' ] ); 810 do_ feed_rss2(false );810 do_action( 'do_feed_rss2', false ); 811 811 remove_filter( 'posts_search', 'get_job_listings_keyword_search', 10 ); 812 812 } -
wp-job-manager/tags/2.4.1/includes/class-wp-job-manager-recaptcha.php
r3078797 r3468765 78 78 } 79 79 80 add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_scripts' ] ); 80 if ( did_action( 'wp_enqueue_scripts' ) ) { 81 $this->enqueue_scripts(); 82 } else { 83 add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_scripts' ] ); 84 } 81 85 } 82 86 } -
wp-job-manager/tags/2.4.1/includes/class-wp-job-manager-shortcodes.php
r3078797 r3468765 144 144 145 145 return Job_Dashboard_Shortcode::instance()->filter_paginate_links( $link ); 146 } 147 148 /** 149 * Handles actions which need to be run before the shortcode e.g. post actions. 150 * 151 * @deprecated 2.4.1 - Moved to Job_Dashboard_Shortcode. 152 */ 153 public function shortcode_action_handler() { 154 _deprecated_function( __METHOD__, '2.4.1', 'Job_Dashboard_Shortcode::handle_actions' ); 155 Job_Dashboard_Shortcode::instance()->handle_actions(); 156 } 157 158 /** 159 * Handles actions on job dashboard. 160 * 161 * @throws Exception On action handling error. 162 * 163 * @deprecated 2.4.1 - Moved to Job_Dashboard_Shortcode. 164 */ 165 public function job_dashboard_handler() { 166 _deprecated_function( __METHOD__, '2.4.1', 'Job_Dashboard_Shortcode::handle_actions' ); 167 Job_Dashboard_Shortcode::instance()->handle_actions(); 146 168 } 147 169 … … 588 610 } 589 611 612 /** 613 * Add expiration details to the job dashboard date column. 614 * 615 * @param \WP_Post $job 616 * 617 * @deprecated 2.4.1 - Moved to Job_Dashboard_Shortcode. 618 * 619 * @output string 620 */ 621 public function job_dashboard_date_column_expires( $job ) { 622 _deprecated_function( __METHOD__, '2.4.1', 'Job_Dashboard_Shortcode::the_expiration_date' ); 623 Job_Dashboard_Shortcode::instance()->the_expiration_date( $job ); 624 } 625 626 /** 627 * Add job status to the job dashboard title column. 628 * 629 * @param \WP_Post $job 630 * 631 * @deprecated 2.4.1 - Moved to Job_Dashboard_Shortcode. 632 * 633 * @output string 634 */ 635 public function job_dashboard_title_column_status( $job ) { 636 _deprecated_function( __METHOD__, '2.4.1', 'Job_Dashboard_Shortcode::the_job_status' ); 637 Job_Dashboard_Shortcode::instance()->the_status( $job ); 638 } 639 640 641 590 642 } 591 643 -
wp-job-manager/tags/2.4.1/languages/wp-job-manager.pot
r3132877 r3468765 1 # Copyright (C) 202 4Automattic1 # Copyright (C) 2026 Automattic 2 2 # This file is distributed under the GPL2+. 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: WP Job Manager 2.4. 0\n"5 "Project-Id-Version: WP Job Manager 2.4.1\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-job-manager/\n" 7 7 "Last-Translator: \n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 202 4-07-25T08:58:08+00:00\n"12 "POT-Creation-Date: 2026-02-24T15:29:38+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 "X-Generator: WP-CLI 2.1 0.0\n"14 "X-Generator: WP-CLI 2.12.0\n" 15 15 "X-Domain: wp-job-manager\n" 16 16 … … 63 63 #. translators: Placeholder (%s) is the URL to edit the primary language in WPML. 64 64 #: includes/3rd-party/wpml.php:108 65 #, php-format 65 66 msgid "<a href=\"%s\">Switch to primary language</a> to edit this setting." 66 67 msgstr "" … … 72 73 #. translators: Placeholder %s is the Terms and Conditions placeholder. 73 74 #: includes/abstracts/abstract-wp-job-manager-form.php:383 75 #, php-format 74 76 msgid "I accept the %s." 75 77 msgstr "" … … 248 250 #. translators: %s is the new version number for the addon. 249 251 #: includes/admin/class-wp-job-manager-admin-notices.php:647 252 #, php-format 250 253 msgid "New Version: %s" 251 254 msgstr "" … … 343 346 #. translators: Placeholder (%s) is the plural name of the job listings post type. 344 347 #: includes/admin/class-wp-job-manager-cpt.php:81 348 #, php-format 345 349 msgid "Approve %s" 346 350 msgstr "" … … 348 352 #. translators: Placeholder (%s) is the plural name of the job listings post type. 349 353 #: includes/admin/class-wp-job-manager-cpt.php:83 354 #, php-format 350 355 msgid "%s approved" 351 356 msgstr "" … … 353 358 #. translators: Placeholder (%s) is the plural name of the job listings post type. 354 359 #: includes/admin/class-wp-job-manager-cpt.php:88 360 #, php-format 355 361 msgid "Expire %s" 356 362 msgstr "" … … 358 364 #. translators: Placeholder (%s) is the plural name of the job listings post type. 359 365 #: includes/admin/class-wp-job-manager-cpt.php:90 366 #, php-format 360 367 msgid "%s expired" 361 368 msgstr "" … … 363 370 #. translators: Placeholder (%s) is the plural name of the job listings post type. 364 371 #: includes/admin/class-wp-job-manager-cpt.php:95 372 #, php-format 365 373 msgid "Mark %s Filled" 366 374 msgstr "" … … 368 376 #. translators: Placeholder (%s) is the plural name of the job listings post type. 369 377 #: includes/admin/class-wp-job-manager-cpt.php:97 378 #, php-format 370 379 msgid "%s marked as filled" 371 380 msgstr "" … … 373 382 #. translators: Placeholder (%s) is the plural name of the job listings post type. 374 383 #: includes/admin/class-wp-job-manager-cpt.php:102 384 #, php-format 375 385 msgid "Mark %s Not Filled" 376 386 msgstr "" … … 378 388 #. translators: Placeholder (%s) is the plural name of the job listings post type. 379 389 #: includes/admin/class-wp-job-manager-cpt.php:104 390 #, php-format 380 391 msgid "%s marked as not filled" 381 392 msgstr "" … … 390 401 391 402 #: includes/admin/class-wp-job-manager-cpt.php:367 392 #: includes/class-job-dashboard-shortcode.php:64 8403 #: includes/class-job-dashboard-shortcode.php:649 393 404 msgid "Filled" 394 405 msgstr "" … … 403 414 404 415 #: includes/admin/class-wp-job-manager-cpt.php:386 405 #: includes/class-job-dashboard-shortcode.php:65 4416 #: includes/class-job-dashboard-shortcode.php:655 406 417 msgid "Featured" 407 418 msgstr "" … … 418 429 #. translators: %1$s is the singular name of the job listing post type; %2$s is the URL to view the listing. 419 430 #: includes/admin/class-wp-job-manager-cpt.php:457 431 #, php-format 420 432 msgid "%1$s updated. <a href=\"%2$s\">View</a>" 421 433 msgstr "" … … 431 443 #. translators: %s is the singular name of the job listing post type. 432 444 #: includes/admin/class-wp-job-manager-cpt.php:461 445 #, php-format 433 446 msgid "%s updated." 434 447 msgstr "" … … 436 449 #. translators: %1$s is the singular name of the job listing post type; %2$s is the revision number. 437 450 #: includes/admin/class-wp-job-manager-cpt.php:463 451 #, php-format 438 452 msgid "%1$s restored to revision from %2$s" 439 453 msgstr "" … … 441 455 #. translators: %1$s is the singular name of the job listing post type; %2$s is the URL to view the listing. 442 456 #: includes/admin/class-wp-job-manager-cpt.php:465 457 #, php-format 443 458 msgid "%1$s published. <a href=\"%2$s\">View</a>" 444 459 msgstr "" … … 446 461 #. translators: %1$s is the singular name of the job listing post type; %2$s is the URL to view the listing. 447 462 #: includes/admin/class-wp-job-manager-cpt.php:467 463 #, php-format 448 464 msgid "%s saved." 449 465 msgstr "" … … 451 467 #. translators: %1$s is the singular name of the job listing post type; %2$s is the URL to preview the listing. 452 468 #: includes/admin/class-wp-job-manager-cpt.php:469 469 #, php-format 453 470 msgid "%1$s submitted. <a target=\"_blank\" href=\"%2$s\">Preview</a>" 454 471 msgstr "" … … 456 473 #. translators: %1$s is the singular name of the post type; %2$s is the date the post will be published; %3$s is the URL to preview the listing. 457 474 #: includes/admin/class-wp-job-manager-cpt.php:472 475 #, php-format 458 476 msgid "%1$s scheduled for: <strong>%2$s</strong>. <a target=\"_blank\" href=\"%3$s\">Preview</a>" 459 477 msgstr "" … … 461 479 #. translators: %1$s is the singular name of the job listing post type; %2$s is the URL to view the listing. 462 480 #: includes/admin/class-wp-job-manager-cpt.php:478 481 #, php-format 463 482 msgid "%1$s draft updated. <a target=\"_blank\" href=\"%2$s\">Preview</a>" 464 483 msgstr "" … … 532 551 #. translators: %d is the post ID for the job listing. 533 552 #: includes/admin/class-wp-job-manager-cpt.php:623 553 #, php-format 534 554 msgid "ID: %d" 535 555 msgstr "" … … 546 566 #. translators: %s placeholder is the username of the user. 547 567 #: includes/admin/class-wp-job-manager-cpt.php:676 568 #, php-format 548 569 msgid "by %s" 549 570 msgstr "" … … 612 633 #. translators: Placeholder (%s) is the name of the job listing affected. 613 634 #: includes/admin/class-wp-job-manager-promoted-jobs-admin.php:177 635 #, php-format 614 636 msgid "Promotion for %s deactivated" 615 637 msgstr "" … … 714 736 #. translators: Placeholder %s is URL to set up a Google Maps API key. 715 737 #: includes/admin/class-wp-job-manager-settings.php:145 738 #, php-format 716 739 msgid "Google requires an API key to retrieve location information for job listings. Acquire an API key from the <a href=\"%s\">Google Maps API developer site</a>." 717 740 msgstr "" … … 1183 1206 #. translators: Placeholder %s is URL to set up Google reCAPTCHA API key. 1184 1207 #: includes/admin/class-wp-job-manager-settings.php:543 1208 #, php-format 1185 1209 msgid "You can retrieve your reCAPTCHA site key from <a href=\"%s\">Google's reCAPTCHA admin dashboard</a>." 1186 1210 msgstr "" … … 1192 1216 #. translators: Placeholder %s is URL to set up Google reCAPTCHA API key. 1193 1217 #: includes/admin/class-wp-job-manager-settings.php:552 1218 #, php-format 1194 1219 msgid "You can retrieve your reCAPTCHA secret key from <a href=\"%s\">Google's reCAPTCHA admin dashboard</a>." 1195 1220 msgstr "" … … 1253 1278 #. translators: Placeholder %s is the url to the WordPress core documentation for capabilities and roles. 1254 1279 #: includes/admin/class-wp-job-manager-settings.php:614 1280 #, php-format 1255 1281 msgid "Enter which <a href=\"%s\">roles or capabilities</a> allow visitors to browse job listings. If no value is selected, everyone (including logged out guests) will be able to browse job listings." 1256 1282 msgstr "" … … 1262 1288 #. translators: Placeholder %s is the url to the WordPress core documentation for capabilities and roles. 1263 1289 #: includes/admin/class-wp-job-manager-settings.php:624 1290 #, php-format 1264 1291 msgid "Enter which <a href=\"%s\">roles or capabilities</a> allow visitors to view a single job listing. If no value is selected, everyone (including logged out guests) will be able to view job listings." 1265 1292 msgstr "" … … 1308 1335 #. translators: Placeholder %s is the singular name for a job listing post type. 1309 1336 #: includes/admin/class-wp-job-manager-writepanels.php:154 1337 #, php-format 1310 1338 msgid "%s Data" 1311 1339 msgstr "" … … 1327 1355 #. translators: Used in user select. %1$s is the user's display name; #%2$s is the user ID; %3$s is the user email. 1328 1356 #: includes/admin/class-wp-job-manager-writepanels.php:532 1329 #: includes/class-wp-job-manager-ajax.php:426 1357 #: includes/class-wp-job-manager-ajax.php:431 1358 #, php-format 1330 1359 msgid "%1$s (#%2$s – %3$s)" 1331 1360 msgstr "" … … 1345 1374 #. translators: %1$s is placeholder for singular name of the job listing post type; %2$s is the intl formatted date the listing was last modified. 1346 1375 #: includes/admin/class-wp-job-manager-writepanels.php:619 1376 #, php-format 1347 1377 msgid "%1$s was last modified by the user on %2$s." 1348 1378 msgstr "" … … 1415 1445 #. translators: Placeholder %s is the path to WPJM documentation site. 1416 1446 #: includes/admin/views/html-admin-setup-step-1.php:19 1447 #, php-format 1417 1448 msgid "If you'd prefer to skip this and set up your pages manually, our <a target=\"_blank\" href=\"%s\">documentation</a> will walk you through each step." 1418 1449 msgstr "" … … 1436 1467 #. translators: %1$s is URL to WordPress core shortcode documentation. %2$s is URL to WPJM specific shortcode reference. 1437 1468 #: includes/admin/views/html-admin-setup-step-2.php:20 1469 #, php-format 1438 1470 msgid "" 1439 1471 "(These pages are created using <a href=\"%1$s\" title=\"What is a shortcode?\" class=\"help-page-link\">shortcodes</a>,\n" … … 1531 1563 #. translators: %1$s is the URL to WPJM support documentation; %2$s is the URL to WPJM support forums. 1532 1564 #: includes/admin/views/html-admin-setup-step-3.php:52 1565 #, php-format 1533 1566 msgid "" 1534 1567 "If you need help, you can find more detail in our\n" … … 1606 1639 #. translators: Placeholder %s is the job listing title. 1607 1640 #: includes/class-job-dashboard-shortcode.php:451 1641 #, php-format 1608 1642 msgid "%s has been filled" 1609 1643 msgstr "" … … 1615 1649 #. translators: Placeholder %s is the job listing title. 1616 1650 #: includes/class-job-dashboard-shortcode.php:464 1651 #, php-format 1617 1652 msgid "%s has been marked as not filled" 1618 1653 msgstr "" … … 1620 1655 #. translators: Placeholder %s is the job listing title. 1621 1656 #: includes/class-job-dashboard-shortcode.php:472 1657 #, php-format 1622 1658 msgid "%s has been deleted" 1623 1659 msgstr "" … … 1630 1666 #. translators: Placeholder is the expiration date of the job listing. 1631 1667 #: includes/class-job-dashboard-shortcode.php:548 1668 #, php-format 1632 1669 msgid "Expires in %s" 1633 1670 msgstr "" … … 1651 1688 #. translators: %1d is the number of page views. 1652 1689 #: includes/class-stats-dashboard.php:68 1690 #, php-format 1653 1691 msgid "%1d view" 1654 1692 msgid_plural "%1d views" … … 1658 1696 #. translators: %1d is the number of impressions. 1659 1697 #: includes/class-stats-dashboard.php:70 1698 #, php-format 1660 1699 msgid "%1d impression" 1661 1700 msgid_plural "%1d impressions" … … 1707 1746 1708 1747 #. translators: Placeholder %d is the number of found search results. 1709 #: includes/class-wp-job-manager-ajax.php:193 1748 #: includes/class-wp-job-manager-ajax.php:198 1749 #, php-format 1710 1750 msgid "Search completed. Found %d matching record." 1711 1751 msgid_plural "Search completed. Found %d matching records." … … 1713 1753 msgstr[1] "" 1714 1754 1715 #: includes/class-wp-job-manager-ajax.php:29 11755 #: includes/class-wp-job-manager-ajax.php:296 1716 1756 msgid "You must be logged in to upload files using this method." 1717 1757 msgstr "" … … 1753 1793 #. translators: %1$s is version of PHP that WP Job Manager requires; %2$s is the version of PHP WordPress is running on. 1754 1794 #: includes/class-wp-job-manager-dependency-checker.php:66 1795 #, php-format 1755 1796 msgid "<strong>WP Job Manager</strong> requires a minimum PHP version of %1$s, but you are running %2$s." 1756 1797 msgstr "" … … 1767 1808 #. translators: %s is the URL for the page where users can go to update WordPress. 1768 1809 #: includes/class-wp-job-manager-dependency-checker.php:118 1810 #, php-format 1769 1811 msgid "Please <a href=\"%s\">update WordPress</a> to avoid issues." 1770 1812 msgstr "" … … 1859 1901 #: includes/class-wp-job-manager-post-types.php:376 1860 1902 #: includes/class-wp-job-manager-post-types.php:474 1903 #, php-format 1861 1904 msgid "Search %s" 1862 1905 msgstr "" … … 1868 1911 #: includes/class-wp-job-manager-post-types.php:378 1869 1912 #: includes/class-wp-job-manager-post-types.php:460 1913 #, php-format 1870 1914 msgid "All %s" 1871 1915 msgstr "" … … 1877 1921 #: includes/class-wp-job-manager-post-types.php:380 1878 1922 #: includes/class-wp-job-manager-post-types.php:480 1923 #, php-format 1879 1924 msgid "Parent %s" 1880 1925 msgstr "" … … 1884 1929 #: includes/class-wp-job-manager-post-types.php:319 1885 1930 #: includes/class-wp-job-manager-post-types.php:382 1931 #, php-format 1886 1932 msgid "Parent %s:" 1887 1933 msgstr "" … … 1893 1939 #: includes/class-wp-job-manager-post-types.php:384 1894 1940 #: includes/class-wp-job-manager-post-types.php:466 1941 #, php-format 1895 1942 msgid "Edit %s" 1896 1943 msgstr "" … … 1900 1947 #: includes/class-wp-job-manager-post-types.php:323 1901 1948 #: includes/class-wp-job-manager-post-types.php:386 1949 #, php-format 1902 1950 msgid "Update %s" 1903 1951 msgstr "" … … 1907 1955 #: includes/class-wp-job-manager-post-types.php:325 1908 1956 #: includes/class-wp-job-manager-post-types.php:388 1957 #, php-format 1909 1958 msgid "Add New %s" 1910 1959 msgstr "" … … 1914 1963 #: includes/class-wp-job-manager-post-types.php:327 1915 1964 #: includes/class-wp-job-manager-post-types.php:390 1965 #, php-format 1916 1966 msgid "New %s Name" 1917 1967 msgstr "" … … 1935 1985 #. translators: Placeholder %s is the singular label of the job listing post type. 1936 1986 #: includes/class-wp-job-manager-post-types.php:463 1987 #, php-format 1937 1988 msgid "Add %s" 1938 1989 msgstr "" … … 1940 1991 #. translators: Placeholder %s is the singular label of the job listing post type. 1941 1992 #: includes/class-wp-job-manager-post-types.php:468 1993 #, php-format 1942 1994 msgid "New %s" 1943 1995 msgstr "" … … 1946 1998 #: includes/class-wp-job-manager-post-types.php:470 1947 1999 #: includes/class-wp-job-manager-post-types.php:472 2000 #, php-format 1948 2001 msgid "View %s" 1949 2002 msgstr "" … … 1951 2004 #. translators: Placeholder %s is the singular label of the job listing post type. 1952 2005 #: includes/class-wp-job-manager-post-types.php:476 2006 #, php-format 1953 2007 msgid "No %s found" 1954 2008 msgstr "" … … 1956 2010 #. translators: Placeholder %s is the plural label of the job listing post type. 1957 2011 #: includes/class-wp-job-manager-post-types.php:478 2012 #, php-format 1958 2013 msgid "No %s found in trash" 1959 2014 msgstr "" … … 1973 2028 #. translators: Placeholder %s is the plural label of the job listing post type. 1974 2029 #: includes/class-wp-job-manager-post-types.php:487 2030 #, php-format 1975 2031 msgid "This is where you can create and manage %s." 1976 2032 msgstr "" … … 1984 2040 #. translators: Placeholder %s is the number of expired posts of this type. 1985 2041 #: includes/class-wp-job-manager-post-types.php:529 2042 #, php-format 1986 2043 msgid "Expired <span class=\"count\">(%s)</span>" 1987 2044 msgid_plural "Expired <span class=\"count\">(%s)</span>" … … 1997 2054 #. translators: Placeholder %s is the number of posts in a preview state. 1998 2055 #: includes/class-wp-job-manager-post-types.php:541 2056 #, php-format 1999 2057 msgid "Preview <span class=\"count\">(%s)</span>" 2000 2058 msgid_plural "Preview <span class=\"count\">(%s)</span>" … … 2115 2173 2116 2174 #. translators: %s is the name of the form validation that failed. 2117 #: includes/class-wp-job-manager-recaptcha.php:177 2175 #: includes/class-wp-job-manager-recaptcha.php:181 2176 #, php-format 2118 2177 msgid "\"%s\" check failed. Please try again." 2119 2178 msgstr "" 2120 2179 2121 #: includes/class-wp-job-manager-shortcodes.php:3 112122 #: includes/class-wp-job-manager-shortcodes.php:3 512180 #: includes/class-wp-job-manager-shortcodes.php:333 2181 #: includes/class-wp-job-manager-shortcodes.php:373 2123 2182 msgid "Load more listings" 2124 2183 msgstr "" … … 2126 2185 #. translators: Placeholder %s is a URL to the document on wpjobmanager.com with info on usage tracking. 2127 2186 #: includes/class-wp-job-manager-usage-tracking.php:230 2187 #, php-format 2128 2188 msgid "" 2129 2189 "<p>We'd love if you helped us make WP Job Manager better by allowing us to collect\n" … … 2134 2194 #. translators: the href tag contains the URL for the page telling users what data WPJM tracks. 2135 2195 #: includes/class-wp-job-manager-usage-tracking.php:269 2196 #, php-format 2136 2197 msgid "" 2137 2198 "Help us make Job Manager better by allowing us to collect\n" … … 2146 2207 #. translators: Placeholders %1$s and %2$s are the names of the two cookies used in WP Job Manager. 2147 2208 #: includes/class-wp-job-manager.php:195 2209 #, php-format 2148 2210 msgid "" 2149 2211 "This site adds the following cookies to help users resume job submissions that they\n" … … 2166 2228 #: includes/class-wp-job-manager.php:581 2167 2229 #: includes/forms/class-wp-job-manager-form-submit-job.php:516 2230 #, php-format 2168 2231 msgid "You are only allowed to upload a maximum of %d files." 2169 2232 msgstr "" … … 2191 2254 #. translators: Placeholder %s is the job listing post title. 2192 2255 #: includes/emails/class-wp-job-manager-email-admin-new-job.php:63 2256 #, php-format 2193 2257 msgid "New Job Listing Submitted: %s" 2194 2258 msgstr "" … … 2204 2268 #. translators: Placeholder %s is the job listing post title. 2205 2269 #: includes/emails/class-wp-job-manager-email-admin-updated-job.php:63 2270 #, php-format 2206 2271 msgid "Job Listing Updated: %s" 2207 2272 msgstr "" … … 2217 2282 #. translators: Placeholder %s is the job listing post title. 2218 2283 #: includes/emails/class-wp-job-manager-email-employer-expiring-job.php:79 2284 #, php-format 2219 2285 msgid "Job Listing Expiring: %s" 2220 2286 msgstr "" … … 2333 2399 #. translators: Placeholder %s is the label for the required field. 2334 2400 #: includes/forms/class-wp-job-manager-form-submit-job.php:437 2401 #, php-format 2335 2402 msgid "%s is a required field" 2336 2403 msgstr "" … … 2338 2405 #. translators: Placeholder %s is the field label that is did not validate. 2339 2406 #: includes/forms/class-wp-job-manager-form-submit-job.php:448 2407 #, php-format 2340 2408 msgid "%s is invalid" 2341 2409 msgstr "" … … 2349 2417 #: includes/forms/class-wp-job-manager-form-submit-job.php:489 2350 2418 #: wp-job-manager-functions.php:1529 2419 #, php-format 2351 2420 msgid "\"%1$s\" (filetype %2$s) needs to be one of the following file types: %3$s" 2352 2421 msgstr "" … … 2386 2455 #. translators: Placeholder %s is the password hint. 2387 2456 #: includes/forms/class-wp-job-manager-form-submit-job.php:761 2457 #, php-format 2388 2458 msgid "Invalid Password: %s" 2389 2459 msgstr "" … … 2399 2469 #. translators: placeholder is the URL to the job dashboard page. 2400 2470 #: includes/forms/class-wp-job-manager-form-submit-job.php:821 2471 #, php-format 2401 2472 msgid "Draft was saved. Job listing drafts can be resumed from the <a href=\"%s\">job dashboard</a>." 2402 2473 msgstr "" … … 2420 2491 #. translators: First placeholder is the plugin name, second placeholder is the My Account URL. 2421 2492 #: includes/helper/class-wp-job-manager-helper.php:400 2493 #, php-format 2422 2494 msgid "<strong>Error:</strong> The license for <strong>%1$s</strong> is not activated on this website and has been removed. Manage your activations on your <a href=\"%2$s\" rel=\"noopener noreferrer\" target=\"_blank\">My Account page</a>." 2423 2495 msgstr "" … … 2425 2497 #. translators: First placeholder is the plugin name; second placeholder is the URL to purchase the plugin. 2426 2498 #: includes/helper/class-wp-job-manager-helper.php:405 2499 #, php-format 2427 2500 msgid "<strong>Error:</strong> The license for <strong>%1$s</strong> is not valid and has been removed. <a href=\"%2$s\" rel=\"noopener noreferrer\" target=\"_blank\">Purchase a new license</a> to receive updates and support." 2428 2501 msgstr "" … … 2430 2503 #. translators: First placeholder is the plugin name, second placeholder is the My Account URL. 2431 2504 #: includes/helper/class-wp-job-manager-helper.php:410 2505 #, php-format 2432 2506 msgid "<strong>Error:</strong> The license for <strong>%1$s</strong> has expired. You must <a href=\"%2$s\" rel=\"noopener noreferrer\" target=\"_blank\">renew your license</a> to receive updates and support." 2433 2507 msgstr "" … … 2435 2509 #. translators: First placeholder is the plugin name, second placeholder is the My Account URL. 2436 2510 #: includes/helper/class-wp-job-manager-helper.php:413 2511 #, php-format 2437 2512 msgid "<strong>Error:</strong> The license for <strong>%1$s</strong> is expiring soon. Please <a href=\"%2$s\" rel=\"noopener noreferrer\" target=\"_blank\">renew your license</a> to continue receiving updates and support." 2438 2513 msgstr "" … … 2498 2573 #. translators: %1$s is the URL to the license key page. 2499 2574 #: includes/helper/class-wp-job-manager-helper.php:1136 2575 #, php-format 2500 2576 msgid "<a href=\"%1$s\">Please add or review your license keys</a> to get updates for the following extensions:" 2501 2577 msgstr "" … … 2535 2611 #. translators: placeholder is the number of active addons, which will never be zero. 2536 2612 #: includes/helper/views/html-licenses.php:62 2613 #, php-format 2537 2614 msgid "Active (%d)" 2538 2615 msgstr "" … … 2541 2618 #: includes/helper/views/html-licenses.php:71 2542 2619 #: includes/helper/views/html-licenses.php:136 2620 #, php-format 2543 2621 msgid "Plugin Icon for %s" 2544 2622 msgstr "" … … 2555 2633 #. translators: placeholder is the number of inactive addons, which will never be zero. 2556 2634 #: includes/helper/views/html-licenses.php:127 2635 #, php-format 2557 2636 msgid "Inactive (%d)" 2558 2637 msgstr "" … … 2560 2639 #. translators: Placeholder %s is the lost license key URL. 2561 2640 #: includes/helper/views/html-licenses.php:187 2641 #, php-format 2562 2642 msgid "Lost your license key? <a href=\"%s\">You can find them on the My Account page</a>." 2563 2643 msgstr "" … … 2592 2672 #: includes/widgets/class-wp-job-manager-widget-featured-jobs.php:27 2593 2673 #: includes/widgets/class-wp-job-manager-widget-featured-jobs.php:35 2674 #, php-format 2594 2675 msgid "Featured %s" 2595 2676 msgstr "" … … 2636 2717 #: includes/widgets/class-wp-job-manager-widget-recent-jobs.php:27 2637 2718 #: includes/widgets/class-wp-job-manager-widget-recent-jobs.php:35 2719 #, php-format 2638 2720 msgid "Recent %s" 2639 2721 msgstr "" … … 2677 2759 #. translators: Placeholder %s is the username. 2678 2760 #: templates/account-signin.php:26 2761 #, php-format 2679 2762 msgid "You are currently signed in as <strong>%s</strong>." 2680 2763 msgstr "" … … 2737 2820 #. translators: %1$s placeholder is URL to the blog. %2$s placeholder is the name of the site. 2738 2821 #: templates/emails/admin-expiring-job.php:32 2822 #, php-format 2739 2823 msgid "The following job listing is expiring today from <a href=\"%1$s\">%2$s</a>." 2740 2824 msgstr "" … … 2742 2826 #. translators: %1$s placeholder is URL to the blog. %2$s placeholder is the name of the site. 2743 2827 #: templates/emails/admin-expiring-job.php:35 2828 #, php-format 2744 2829 msgid "The following job listing is expiring soon from <a href=\"%1$s\">%2$s</a>." 2745 2830 msgstr "" … … 2747 2832 #. translators: Placeholder is URL to site's WP admin. 2748 2833 #: templates/emails/admin-expiring-job.php:41 2834 #, php-format 2749 2835 msgid "Visit <a href=\"%s\">WordPress admin</a> to manage the listing." 2750 2836 msgstr "" … … 2752 2838 #. translators: %1$s placeholder is URL to the blog. %2$s placeholder is the name of the site. 2753 2839 #: templates/emails/admin-new-job.php:27 2840 #, php-format 2754 2841 msgid "A new job listing has been submitted to <a href=\"%s\">%s</a>." 2755 2842 msgstr "" … … 2762 2849 #. translators: Placeholder %s is the admin job listings URL. 2763 2850 #: templates/emails/admin-new-job.php:40 2851 #, php-format 2764 2852 msgid "It is awaiting approval by an administrator in <a href=\"%s\">WordPress admin</a>." 2765 2853 msgstr "" … … 2767 2855 #. translators: %1$s placeholder is URL to the blog. %2$s placeholder is the name of the site. 2768 2856 #: templates/emails/admin-updated-job.php:26 2857 #, php-format 2769 2858 msgid "A job listing has been updated on <a href=\"%s\">%s</a>." 2770 2859 msgstr "" … … 2777 2866 #. translators: Placeholder %s is the admin job listings URL. 2778 2867 #: templates/emails/admin-updated-job.php:34 2868 #, php-format 2779 2869 msgid "The job listing is not publicly available until the changes are approved by an administrator in the site's <a href=\"%s\">WordPress admin</a>." 2780 2870 msgstr "" … … 2782 2872 #. translators: %1$s placeholder is URL to the blog. %2$s placeholder is the name of the site. 2783 2873 #: templates/emails/employer-expiring-job.php:33 2874 #, php-format 2784 2875 msgid "The following job listing is expiring today from <a href=\"%s\">%s</a>." 2785 2876 msgstr "" … … 2787 2878 #. translators: %1$s placeholder is URL to the blog. %2$s placeholder is the name of the site. 2788 2879 #: templates/emails/employer-expiring-job.php:42 2880 #, php-format 2789 2881 msgid "The following job listing is expiring soon from <a href=\"%s\">%s</a>." 2790 2882 msgstr "" … … 2792 2884 #. translators: Placeholder %s is the job listing dashboard URL. 2793 2885 #: templates/emails/employer-expiring-job.php:51 2886 #, php-format 2794 2887 msgid "Visit the <a href=\"%s\">job listing dashboard</a> to manage the listing." 2795 2888 msgstr "" … … 2798 2891 #: templates/emails/plain/admin-expiring-job.php:31 2799 2892 #: templates/emails/plain/employer-expiring-job.php:30 2893 #, php-format 2800 2894 msgid "The following job listing is expiring today from %1$s (%2$s)." 2801 2895 msgstr "" … … 2804 2898 #: templates/emails/plain/admin-expiring-job.php:38 2805 2899 #: templates/emails/plain/employer-expiring-job.php:33 2900 #, php-format 2806 2901 msgid "The following job listing is expiring soon from %1$s (%2$s)." 2807 2902 msgstr "" … … 2809 2904 #. translators: Placeholder %s is the edit job URL. 2810 2905 #: templates/emails/plain/admin-expiring-job.php:46 2906 #, php-format 2811 2907 msgid "Visit WordPress admin (%s) to manage the listing." 2812 2908 msgstr "" … … 2814 2910 #. translators: %1$s placeholder is the name of the site, %2$s placeholder is URL to the blog. 2815 2911 #: templates/emails/plain/admin-new-job.php:24 2912 #, php-format 2816 2913 msgid "A new job listing has been submitted to %1$s (%2$s)." 2817 2914 msgstr "" … … 2819 2916 #. translators: Placeholder %s is the admin job listings URL. 2820 2917 #: templates/emails/plain/admin-new-job.php:31 2918 #, php-format 2821 2919 msgid "It is awaiting approval by an administrator in WordPress admin (%s)." 2822 2920 msgstr "" … … 2824 2922 #. translators: %1$s placeholder is the name of the site, %2$s placeholder is URL to the blog. 2825 2923 #: templates/emails/plain/admin-updated-job.php:24 2924 #, php-format 2826 2925 msgid "A job listing has been updated on %1$s (%2$s)." 2827 2926 msgstr "" … … 2829 2928 #. translators: Placeholder %s is the admin job listings URL. 2830 2929 #: templates/emails/plain/admin-updated-job.php:31 2930 #, php-format 2831 2931 msgid "The job listing is not publicly available until the changes are approved by an administrator in the site's WordPress admin (%s)." 2832 2932 msgstr "" … … 2834 2934 #. translators: Placeholder %s is the job listing dashboard URL. 2835 2935 #: templates/emails/plain/employer-expiring-job.php:36 2936 #, php-format 2836 2937 msgid "Visit the job listing dashboard (%s) to manage the listing." 2837 2938 msgstr "" 2838 2939 2839 #: templates/form-fields/file-field.php:60 2940 #: templates/form-fields/file-field.php:61 2941 #, php-format 2840 2942 msgid "Maximum file size: %s." 2841 2943 msgstr "" … … 2862 2964 #. translators: %1$s is the email address, %2$s is the subject query args. 2863 2965 #: templates/job-application-email.php:19 2966 #, php-format 2864 2967 msgid "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>" 2865 2968 msgstr "" … … 2883 2986 #. translators: Placeholder is the search term. 2884 2987 #: templates/job-dashboard.php:64 2988 #, php-format 2885 2989 msgid "No results found for \"%s\"." 2886 2990 msgstr "" … … 2928 3032 2929 3033 #: templates/job-submit.php:25 3034 #, php-format 2930 3035 msgid "You are editing an existing job. %s" 2931 3036 msgstr "" … … 2945 3050 #. translators: %1$s is the job listing post type name, %2$s is the job listing URL. 2946 3051 #: templates/job-submitted.php:36 3052 #, php-format 2947 3053 msgid "%1$s listed successfully. To view your listing <a href=\"%2$s\">click here</a>." 2948 3054 msgstr "" … … 2950 3056 #. translators: Placeholder %s is the job listing post type name. 2951 3057 #: templates/job-submitted.php:47 3058 #, php-format 2952 3059 msgid "%s submitted successfully. Your listing will be visible once approved." 2953 3060 msgstr "" 2954 3061 2955 3062 #: templates/job-submitted.php:61 3063 #, php-format 2956 3064 msgid " <a href=\"%1$s\"> View your %2$s</a>" 2957 3065 msgstr "" 2958 3066 2959 3067 #: templates/job-submitted.php:69 3068 #, php-format 2960 3069 msgid " <a href=\"%s\"> %s</a>" 2961 3070 msgstr "" … … 2963 3072 #. translators: %1$s is the job listing post type name. 2964 3073 #: templates/job-submitted.php:92 3074 #, php-format 2965 3075 msgid "%1$s submitted successfully." 2966 3076 msgstr "" … … 3053 3163 #. translators: %s is the list of allowed file types. 3054 3164 #: wp-job-manager-functions.php:1532 3165 #, php-format 3055 3166 msgid "Uploaded files need to be one of the following file types: %s" 3056 3167 msgstr "" … … 3086 3197 #. translators: %1$s is the job listing title; %2$s is the URL for the current WordPress instance. 3087 3198 #: wp-job-manager-template.php:249 3199 #, php-format 3088 3200 msgid "Application via %1$s listing on %2$s" 3089 3201 msgstr "" 3090 3202 3091 #: wp-job-manager-template.php:7 093203 #: wp-job-manager-template.php:715 3092 3204 msgid "Your email" 3093 3205 msgstr "" 3094 3206 3095 #: wp-job-manager-template.php:71 03207 #: wp-job-manager-template.php:716 3096 3208 msgid "you@yourdomain.com" 3097 3209 msgstr "" 3098 3210 3099 #: wp-job-manager-template.php:7 183211 #: wp-job-manager-template.php:724 3100 3212 msgid "Username" 3101 3213 msgstr "" 3102 3214 3103 #: wp-job-manager-template.php:7 273215 #: wp-job-manager-template.php:733 3104 3216 msgid "Password" 3105 3217 msgstr "" 3106 3218 3107 #: wp-job-manager-template.php:7 373219 #: wp-job-manager-template.php:743 3108 3220 msgid "Verify Password" 3109 3221 msgstr "" 3110 3222 3111 #: wp-job-manager-template.php:7 653223 #: wp-job-manager-template.php:771 3112 3224 msgid "Posted on " 3113 3225 msgstr "" 3114 3226 3115 3227 #. translators: Placeholder %s is the relative, human readable time since the job listing was posted. 3116 #: wp-job-manager-template.php:771 3117 #: wp-job-manager-template.php:797 3228 #: wp-job-manager-template.php:777 3229 #: wp-job-manager-template.php:803 3230 #, php-format 3118 3231 msgid "Posted %s ago" 3119 3232 msgstr "" 3120 3233 3121 3234 #. translators: Placeholder %s is the relative, human readable time the job listing is scheduled to be published. 3122 #: wp-job-manager-template.php:774 3235 #: wp-job-manager-template.php:780 3236 #, php-format 3123 3237 msgid "Scheduled to publish in %s" 3124 3238 msgstr "" 3125 3239 3126 #: wp-job-manager-template.php:81 23240 #: wp-job-manager-template.php:818 3127 3241 msgid "Remote" 3128 3242 msgstr "" 3129 3243 3130 #: wp-job-manager-template.php:8 363244 #: wp-job-manager-template.php:842 3131 3245 msgid "Anywhere" 3132 3246 msgstr "" -
wp-job-manager/tags/2.4.1/readme.txt
r3313803 r3468765 3 3 Tags: jobs, careers, company, hiring, job board 4 4 Requires at least: 6.4 5 Tested up to: 6. 8.15 Tested up to: 6.6 6 6 Requires PHP: 7.2 7 Stable tag: 2.4. 07 Stable tag: 2.4.1 8 8 License: GPLv3 9 9 License URI: http://www.gnu.org/licenses/gpl-3.0.html … … 147 147 148 148 == Changelog == 149 150 ### 2.4.1 - 2026-02-24 151 * Add permission check to listing query parameters (#2914) 152 * Fix structured data output for password-protected listings (#2913) 153 154 * Update actions/cache to use v4 (#2896) 155 * reCaptcha script not being loaded (#2893) 156 * add a additional action to the do_feed_rss2 157 * fix hardcoded dashboard expiration date format 158 * Dev: Fix deprecated methods 159 * Fix file input field for forms not marked as required 149 160 150 161 ### 2.4.0 - 2024-08-08 … … 188 199 * Fix PHP 7.x error for mixed returned type (#2726) 189 200 190 ### 2.2.0 - 2024-01-29191 New:192 193 * Allow scheduling listings during job submission — add an option to show a 'Scheduled Date' field in the job submission form194 * Add new [jobs] shortcode parameter, featured_first so you can ensure featured listings always show up on top.195 * Add support for user sessions without a full account (used in the Job Alerts extension)196 197 Changes:198 199 * Improve styling for rich text e-mails200 * Include plain text alternative for rich text e-mails for better compatibility201 * Store previous license when plugin is deactivated for easier reactivation later.202 * Update design for settings and marketplace pages203 204 Fixes:205 206 * Fix custom role permission issues (#2673)207 * Fix RSS, Reset, Add Alert links not showing on search page without a keyword208 * Improve PHP 8 support209 * Fix numeric settings field issues210 * Improve e-mail formatting and encoding, remove extra whitespace211 * Add file type validation and error message to company logo upload212 * Fix cache issue when marking jobs as filled/not filled via bulk actions213 * Do not emit warning when user with insufficient access to Job Manager menu tries to access wp-admin214 -
wp-job-manager/tags/2.4.1/templates/form-fields/file-field.php
r2166302 r3468765 47 47 class="<?php echo esc_attr( implode( ' ', $classes ) ); ?>" 48 48 data-file_types="<?php echo esc_attr( implode( '|', $allowed_mime_types ) ); ?>" 49 <?php if ( ! empty( $field['multiple'] ) ) echo 'multiple'; ?> 49 <?php if ( ! empty( $field['required'] ) ) echo ' required'; ?> 50 <?php if ( ! empty( $field['multiple'] ) ) echo ' multiple'; ?> 50 51 <?php if ( $file_limit ) echo ' data-file_limit="' . absint( $file_limit ) . '"';?> 51 52 <?php if ( ! empty( $field['file_limit_message'] ) ) echo ' data-file_limit_message="' . esc_attr( $field['file_limit_message'] ) . '"';?> -
wp-job-manager/tags/2.4.1/vendor/autoload.php
r3078797 r3468765 15 15 } 16 16 } 17 trigger_error( 18 $err, 19 E_USER_ERROR 20 ); 17 throw new RuntimeException($err); 21 18 } 22 19 -
wp-job-manager/tags/2.4.1/vendor/composer/InstalledVersions.php
r3078797 r3468765 28 28 { 29 29 /** 30 * @var string|null if set (by reflection by Composer), this should be set to the path where this class is being copied to 31 * @internal 32 */ 33 private static $selfDir = null; 34 35 /** 30 36 * @var mixed[]|null 31 37 * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null 32 38 */ 33 39 private static $installed; 40 41 /** 42 * @var bool 43 */ 44 private static $installedIsLocalDir; 34 45 35 46 /** … … 310 321 self::$installed = $data; 311 322 self::$installedByVendor = array(); 323 324 // when using reload, we disable the duplicate protection to ensure that self::$installed data is 325 // always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not, 326 // so we have to assume it does not, and that may result in duplicate data being returned when listing 327 // all installed packages for example 328 self::$installedIsLocalDir = false; 329 } 330 331 /** 332 * @return string 333 */ 334 private static function getSelfDir() 335 { 336 if (self::$selfDir === null) { 337 self::$selfDir = strtr(__DIR__, '\\', '/'); 338 } 339 340 return self::$selfDir; 312 341 } 313 342 … … 323 352 324 353 $installed = array(); 354 $copiedLocalDir = false; 325 355 326 356 if (self::$canGetVendors) { 357 $selfDir = self::getSelfDir(); 327 358 foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { 359 $vendorDir = strtr($vendorDir, '\\', '/'); 328 360 if (isset(self::$installedByVendor[$vendorDir])) { 329 361 $installed[] = self::$installedByVendor[$vendorDir]; … … 331 363 /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */ 332 364 $required = require $vendorDir.'/composer/installed.php'; 333 $installed[] = self::$installedByVendor[$vendorDir] = $required; 334 if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { 335 self::$installed = $installed[count($installed) - 1]; 365 self::$installedByVendor[$vendorDir] = $required; 366 $installed[] = $required; 367 if (self::$installed === null && $vendorDir.'/composer' === $selfDir) { 368 self::$installed = $required; 369 self::$installedIsLocalDir = true; 336 370 } 371 } 372 if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) { 373 $copiedLocalDir = true; 337 374 } 338 375 } … … 351 388 } 352 389 353 if (self::$installed !== array() ) {390 if (self::$installed !== array() && !$copiedLocalDir) { 354 391 $installed[] = self::$installed; 355 392 } -
wp-job-manager/tags/2.4.1/vendor/composer/autoload_static.php
r3078797 r3468765 12 12 13 13 public static $prefixLengthsPsr4 = array ( 14 'S' => 14 'S' => 15 15 array ( 16 16 'Symfony\\Polyfill\\Php80\\' => 23, … … 18 18 'Sabberworm\\CSS\\' => 15, 19 19 ), 20 'P' => 20 'P' => 21 21 array ( 22 22 'Pelago\\Emogrifier\\' => 18, … … 25 25 26 26 public static $prefixDirsPsr4 = array ( 27 'Symfony\\Polyfill\\Php80\\' => 27 'Symfony\\Polyfill\\Php80\\' => 28 28 array ( 29 29 0 => __DIR__ . '/..' . '/symfony/polyfill-php80', 30 30 ), 31 'Symfony\\Component\\CssSelector\\' => 31 'Symfony\\Component\\CssSelector\\' => 32 32 array ( 33 33 0 => __DIR__ . '/..' . '/symfony/css-selector', 34 34 ), 35 'Sabberworm\\CSS\\' => 35 'Sabberworm\\CSS\\' => 36 36 array ( 37 37 0 => __DIR__ . '/..' . '/sabberworm/php-css-parser/src', 38 38 ), 39 'Pelago\\Emogrifier\\' => 39 'Pelago\\Emogrifier\\' => 40 40 array ( 41 41 0 => __DIR__ . '/..' . '/pelago/emogrifier/src', -
wp-job-manager/tags/2.4.1/vendor/composer/installed.php
r3132877 r3468765 4 4 'pretty_version' => 'dev-trunk', 5 5 'version' => 'dev-trunk', 6 'reference' => ' a909c7d015e52f8c2add651b30a33c713c4e3033',6 'reference' => 'e45fc2de016422a9a71d29fc53d12af1d2b4b6d2', 7 7 'type' => 'wordpress-plugin', 8 8 'install_path' => __DIR__ . '/../../', … … 14 14 'pretty_version' => 'dev-trunk', 15 15 'version' => 'dev-trunk', 16 'reference' => ' a909c7d015e52f8c2add651b30a33c713c4e3033',16 'reference' => 'e45fc2de016422a9a71d29fc53d12af1d2b4b6d2', 17 17 'type' => 'wordpress-plugin', 18 18 'install_path' => __DIR__ . '/../../', -
wp-job-manager/tags/2.4.1/vendor/composer/platform_check.php
r3078797 r3468765 20 20 } 21 21 } 22 trigger_error( 23 'Composer detected issues in your platform: ' . implode(' ', $issues), 24 E_USER_ERROR 22 throw new \RuntimeException( 23 'Composer detected issues in your platform: ' . implode(' ', $issues) 25 24 ); 26 25 } -
wp-job-manager/tags/2.4.1/wp-job-manager-template.php
r3078797 r3468765 338 338 } 339 339 340 // Only show structured data for un-filled and published job listings. 341 $output_structured_data = ! is_position_filled( $post ) && 'publish' === $post->post_status; 340 // Only show structured data for un-filled, published, and non-password-protected job listings. 341 $output_structured_data = ! is_position_filled( $post ) 342 && 'publish' === $post->post_status 343 && ! post_password_required( $post ); 342 344 343 345 /** … … 354 356 /** 355 357 * Gets the structured data for the job listing. 358 * 359 * Note: This function does not check if the job listing is published, filled, 360 * password-protected, or otherwise hidden. Use wpjm_output_job_listing_structured_data() 361 * to check if structured data should be output for a given job listing. 356 362 * 357 363 * @since 1.28.0 -
wp-job-manager/tags/2.4.1/wp-job-manager.php
r3313803 r3468765 4 4 * Plugin URI: https://wpjobmanager.com/ 5 5 * Description: Manage job listings from the WordPress admin panel, and allow users to post jobs directly to your site. 6 * Version: 2.4. 06 * Version: 2.4.1 7 7 * Author: Automattic 8 8 * Author URI: https://wpjobmanager.com/ 9 9 * Requires at least: 6.4 10 * Tested up to: 6. 8.110 * Tested up to: 6.6 11 11 * Requires PHP: 7.4 12 12 * Text Domain: wp-job-manager … … 22 22 23 23 // Define constants. 24 define( 'JOB_MANAGER_VERSION', '2.4. 0' );24 define( 'JOB_MANAGER_VERSION', '2.4.1' ); 25 25 define( 'JOB_MANAGER_PLUGIN_DIR', untrailingslashit( plugin_dir_path( __FILE__ ) ) ); 26 26 define( 'JOB_MANAGER_PLUGIN_URL', untrailingslashit( plugins_url( basename( plugin_dir_path( __FILE__ ) ), basename( __FILE__ ) ) ) ); -
wp-job-manager/trunk/changelog.txt
r3132877 r3468765 1 1 # WP Job Manager 2 3 ## 2.4.1 - 2026-02-24 4 * Add permission check to listing query parameters (#2914) 5 * Fix structured data output for password-protected listings (#2913) 6 7 * Update actions/cache to use v4 (#2896) 8 * reCaptcha script not being loaded (#2893) 9 * add a additional action to the do_feed_rss2 10 * fix hardcoded dashboard expiration date format 11 * Dev: Fix deprecated methods 12 * Fix file input field for forms not marked as required 2 13 3 14 ## 2.4.0 - 2024-08-08 -
wp-job-manager/trunk/includes/class-job-dashboard-shortcode.php
r3078797 r3468765 595 595 596 596 /** 597 * Show job title.597 * Show the job date 598 598 * 599 599 * @param \WP_Post $job … … 602 602 */ 603 603 public static function the_date( $job ) { 604 echo '<div>' . esc_html( wp_date( apply_filters( 'job_manager_get_dashboard_date_format', 'M d, Y' ), get_post_datetime( $job )->getTimestamp() ) ) . '</div>'; 604 $date_format = get_option( 'date_format' ) ?: 'M d, Y'; 605 echo '<div>' . esc_html( wp_date( apply_filters( 'job_manager_get_dashboard_date_format', $date_format ), get_post_datetime( $job )->getTimestamp() ) ) . '</div>'; 605 606 } 606 607 -
wp-job-manager/trunk/includes/class-wp-job-manager-ajax.php
r3028247 r3468765 145 145 } 146 146 147 // Ensure the current user can filter by post_status. 148 if ( is_array( $filter_post_status ) && ! current_user_can( \WP_Job_Manager_Post_Types::CAP_EDIT_LISTINGS ) ) { 149 $filter_post_status = null; 150 } 151 147 152 $types = get_job_listing_types(); 148 153 $job_types_filtered = ! is_null( $filter_job_types ) && count( $types ) !== count( $filter_job_types ); -
wp-job-manager/trunk/includes/class-wp-job-manager-post-types.php
r3132877 r3468765 808 808 add_action( 'rss2_ns', [ $this, 'job_feed_namespace' ] ); 809 809 add_action( 'rss2_item', [ $this, 'job_feed_item' ] ); 810 do_ feed_rss2(false );810 do_action( 'do_feed_rss2', false ); 811 811 remove_filter( 'posts_search', 'get_job_listings_keyword_search', 10 ); 812 812 } -
wp-job-manager/trunk/includes/class-wp-job-manager-recaptcha.php
r3078797 r3468765 78 78 } 79 79 80 add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_scripts' ] ); 80 if ( did_action( 'wp_enqueue_scripts' ) ) { 81 $this->enqueue_scripts(); 82 } else { 83 add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_scripts' ] ); 84 } 81 85 } 82 86 } -
wp-job-manager/trunk/includes/class-wp-job-manager-shortcodes.php
r3078797 r3468765 144 144 145 145 return Job_Dashboard_Shortcode::instance()->filter_paginate_links( $link ); 146 } 147 148 /** 149 * Handles actions which need to be run before the shortcode e.g. post actions. 150 * 151 * @deprecated 2.4.1 - Moved to Job_Dashboard_Shortcode. 152 */ 153 public function shortcode_action_handler() { 154 _deprecated_function( __METHOD__, '2.4.1', 'Job_Dashboard_Shortcode::handle_actions' ); 155 Job_Dashboard_Shortcode::instance()->handle_actions(); 156 } 157 158 /** 159 * Handles actions on job dashboard. 160 * 161 * @throws Exception On action handling error. 162 * 163 * @deprecated 2.4.1 - Moved to Job_Dashboard_Shortcode. 164 */ 165 public function job_dashboard_handler() { 166 _deprecated_function( __METHOD__, '2.4.1', 'Job_Dashboard_Shortcode::handle_actions' ); 167 Job_Dashboard_Shortcode::instance()->handle_actions(); 146 168 } 147 169 … … 588 610 } 589 611 612 /** 613 * Add expiration details to the job dashboard date column. 614 * 615 * @param \WP_Post $job 616 * 617 * @deprecated 2.4.1 - Moved to Job_Dashboard_Shortcode. 618 * 619 * @output string 620 */ 621 public function job_dashboard_date_column_expires( $job ) { 622 _deprecated_function( __METHOD__, '2.4.1', 'Job_Dashboard_Shortcode::the_expiration_date' ); 623 Job_Dashboard_Shortcode::instance()->the_expiration_date( $job ); 624 } 625 626 /** 627 * Add job status to the job dashboard title column. 628 * 629 * @param \WP_Post $job 630 * 631 * @deprecated 2.4.1 - Moved to Job_Dashboard_Shortcode. 632 * 633 * @output string 634 */ 635 public function job_dashboard_title_column_status( $job ) { 636 _deprecated_function( __METHOD__, '2.4.1', 'Job_Dashboard_Shortcode::the_job_status' ); 637 Job_Dashboard_Shortcode::instance()->the_status( $job ); 638 } 639 640 641 590 642 } 591 643 -
wp-job-manager/trunk/languages/wp-job-manager.pot
r3132877 r3468765 1 # Copyright (C) 202 4Automattic1 # Copyright (C) 2026 Automattic 2 2 # This file is distributed under the GPL2+. 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: WP Job Manager 2.4. 0\n"5 "Project-Id-Version: WP Job Manager 2.4.1\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-job-manager/\n" 7 7 "Last-Translator: \n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 202 4-07-25T08:58:08+00:00\n"12 "POT-Creation-Date: 2026-02-24T15:29:38+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 "X-Generator: WP-CLI 2.1 0.0\n"14 "X-Generator: WP-CLI 2.12.0\n" 15 15 "X-Domain: wp-job-manager\n" 16 16 … … 63 63 #. translators: Placeholder (%s) is the URL to edit the primary language in WPML. 64 64 #: includes/3rd-party/wpml.php:108 65 #, php-format 65 66 msgid "<a href=\"%s\">Switch to primary language</a> to edit this setting." 66 67 msgstr "" … … 72 73 #. translators: Placeholder %s is the Terms and Conditions placeholder. 73 74 #: includes/abstracts/abstract-wp-job-manager-form.php:383 75 #, php-format 74 76 msgid "I accept the %s." 75 77 msgstr "" … … 248 250 #. translators: %s is the new version number for the addon. 249 251 #: includes/admin/class-wp-job-manager-admin-notices.php:647 252 #, php-format 250 253 msgid "New Version: %s" 251 254 msgstr "" … … 343 346 #. translators: Placeholder (%s) is the plural name of the job listings post type. 344 347 #: includes/admin/class-wp-job-manager-cpt.php:81 348 #, php-format 345 349 msgid "Approve %s" 346 350 msgstr "" … … 348 352 #. translators: Placeholder (%s) is the plural name of the job listings post type. 349 353 #: includes/admin/class-wp-job-manager-cpt.php:83 354 #, php-format 350 355 msgid "%s approved" 351 356 msgstr "" … … 353 358 #. translators: Placeholder (%s) is the plural name of the job listings post type. 354 359 #: includes/admin/class-wp-job-manager-cpt.php:88 360 #, php-format 355 361 msgid "Expire %s" 356 362 msgstr "" … … 358 364 #. translators: Placeholder (%s) is the plural name of the job listings post type. 359 365 #: includes/admin/class-wp-job-manager-cpt.php:90 366 #, php-format 360 367 msgid "%s expired" 361 368 msgstr "" … … 363 370 #. translators: Placeholder (%s) is the plural name of the job listings post type. 364 371 #: includes/admin/class-wp-job-manager-cpt.php:95 372 #, php-format 365 373 msgid "Mark %s Filled" 366 374 msgstr "" … … 368 376 #. translators: Placeholder (%s) is the plural name of the job listings post type. 369 377 #: includes/admin/class-wp-job-manager-cpt.php:97 378 #, php-format 370 379 msgid "%s marked as filled" 371 380 msgstr "" … … 373 382 #. translators: Placeholder (%s) is the plural name of the job listings post type. 374 383 #: includes/admin/class-wp-job-manager-cpt.php:102 384 #, php-format 375 385 msgid "Mark %s Not Filled" 376 386 msgstr "" … … 378 388 #. translators: Placeholder (%s) is the plural name of the job listings post type. 379 389 #: includes/admin/class-wp-job-manager-cpt.php:104 390 #, php-format 380 391 msgid "%s marked as not filled" 381 392 msgstr "" … … 390 401 391 402 #: includes/admin/class-wp-job-manager-cpt.php:367 392 #: includes/class-job-dashboard-shortcode.php:64 8403 #: includes/class-job-dashboard-shortcode.php:649 393 404 msgid "Filled" 394 405 msgstr "" … … 403 414 404 415 #: includes/admin/class-wp-job-manager-cpt.php:386 405 #: includes/class-job-dashboard-shortcode.php:65 4416 #: includes/class-job-dashboard-shortcode.php:655 406 417 msgid "Featured" 407 418 msgstr "" … … 418 429 #. translators: %1$s is the singular name of the job listing post type; %2$s is the URL to view the listing. 419 430 #: includes/admin/class-wp-job-manager-cpt.php:457 431 #, php-format 420 432 msgid "%1$s updated. <a href=\"%2$s\">View</a>" 421 433 msgstr "" … … 431 443 #. translators: %s is the singular name of the job listing post type. 432 444 #: includes/admin/class-wp-job-manager-cpt.php:461 445 #, php-format 433 446 msgid "%s updated." 434 447 msgstr "" … … 436 449 #. translators: %1$s is the singular name of the job listing post type; %2$s is the revision number. 437 450 #: includes/admin/class-wp-job-manager-cpt.php:463 451 #, php-format 438 452 msgid "%1$s restored to revision from %2$s" 439 453 msgstr "" … … 441 455 #. translators: %1$s is the singular name of the job listing post type; %2$s is the URL to view the listing. 442 456 #: includes/admin/class-wp-job-manager-cpt.php:465 457 #, php-format 443 458 msgid "%1$s published. <a href=\"%2$s\">View</a>" 444 459 msgstr "" … … 446 461 #. translators: %1$s is the singular name of the job listing post type; %2$s is the URL to view the listing. 447 462 #: includes/admin/class-wp-job-manager-cpt.php:467 463 #, php-format 448 464 msgid "%s saved." 449 465 msgstr "" … … 451 467 #. translators: %1$s is the singular name of the job listing post type; %2$s is the URL to preview the listing. 452 468 #: includes/admin/class-wp-job-manager-cpt.php:469 469 #, php-format 453 470 msgid "%1$s submitted. <a target=\"_blank\" href=\"%2$s\">Preview</a>" 454 471 msgstr "" … … 456 473 #. translators: %1$s is the singular name of the post type; %2$s is the date the post will be published; %3$s is the URL to preview the listing. 457 474 #: includes/admin/class-wp-job-manager-cpt.php:472 475 #, php-format 458 476 msgid "%1$s scheduled for: <strong>%2$s</strong>. <a target=\"_blank\" href=\"%3$s\">Preview</a>" 459 477 msgstr "" … … 461 479 #. translators: %1$s is the singular name of the job listing post type; %2$s is the URL to view the listing. 462 480 #: includes/admin/class-wp-job-manager-cpt.php:478 481 #, php-format 463 482 msgid "%1$s draft updated. <a target=\"_blank\" href=\"%2$s\">Preview</a>" 464 483 msgstr "" … … 532 551 #. translators: %d is the post ID for the job listing. 533 552 #: includes/admin/class-wp-job-manager-cpt.php:623 553 #, php-format 534 554 msgid "ID: %d" 535 555 msgstr "" … … 546 566 #. translators: %s placeholder is the username of the user. 547 567 #: includes/admin/class-wp-job-manager-cpt.php:676 568 #, php-format 548 569 msgid "by %s" 549 570 msgstr "" … … 612 633 #. translators: Placeholder (%s) is the name of the job listing affected. 613 634 #: includes/admin/class-wp-job-manager-promoted-jobs-admin.php:177 635 #, php-format 614 636 msgid "Promotion for %s deactivated" 615 637 msgstr "" … … 714 736 #. translators: Placeholder %s is URL to set up a Google Maps API key. 715 737 #: includes/admin/class-wp-job-manager-settings.php:145 738 #, php-format 716 739 msgid "Google requires an API key to retrieve location information for job listings. Acquire an API key from the <a href=\"%s\">Google Maps API developer site</a>." 717 740 msgstr "" … … 1183 1206 #. translators: Placeholder %s is URL to set up Google reCAPTCHA API key. 1184 1207 #: includes/admin/class-wp-job-manager-settings.php:543 1208 #, php-format 1185 1209 msgid "You can retrieve your reCAPTCHA site key from <a href=\"%s\">Google's reCAPTCHA admin dashboard</a>." 1186 1210 msgstr "" … … 1192 1216 #. translators: Placeholder %s is URL to set up Google reCAPTCHA API key. 1193 1217 #: includes/admin/class-wp-job-manager-settings.php:552 1218 #, php-format 1194 1219 msgid "You can retrieve your reCAPTCHA secret key from <a href=\"%s\">Google's reCAPTCHA admin dashboard</a>." 1195 1220 msgstr "" … … 1253 1278 #. translators: Placeholder %s is the url to the WordPress core documentation for capabilities and roles. 1254 1279 #: includes/admin/class-wp-job-manager-settings.php:614 1280 #, php-format 1255 1281 msgid "Enter which <a href=\"%s\">roles or capabilities</a> allow visitors to browse job listings. If no value is selected, everyone (including logged out guests) will be able to browse job listings." 1256 1282 msgstr "" … … 1262 1288 #. translators: Placeholder %s is the url to the WordPress core documentation for capabilities and roles. 1263 1289 #: includes/admin/class-wp-job-manager-settings.php:624 1290 #, php-format 1264 1291 msgid "Enter which <a href=\"%s\">roles or capabilities</a> allow visitors to view a single job listing. If no value is selected, everyone (including logged out guests) will be able to view job listings." 1265 1292 msgstr "" … … 1308 1335 #. translators: Placeholder %s is the singular name for a job listing post type. 1309 1336 #: includes/admin/class-wp-job-manager-writepanels.php:154 1337 #, php-format 1310 1338 msgid "%s Data" 1311 1339 msgstr "" … … 1327 1355 #. translators: Used in user select. %1$s is the user's display name; #%2$s is the user ID; %3$s is the user email. 1328 1356 #: includes/admin/class-wp-job-manager-writepanels.php:532 1329 #: includes/class-wp-job-manager-ajax.php:426 1357 #: includes/class-wp-job-manager-ajax.php:431 1358 #, php-format 1330 1359 msgid "%1$s (#%2$s – %3$s)" 1331 1360 msgstr "" … … 1345 1374 #. translators: %1$s is placeholder for singular name of the job listing post type; %2$s is the intl formatted date the listing was last modified. 1346 1375 #: includes/admin/class-wp-job-manager-writepanels.php:619 1376 #, php-format 1347 1377 msgid "%1$s was last modified by the user on %2$s." 1348 1378 msgstr "" … … 1415 1445 #. translators: Placeholder %s is the path to WPJM documentation site. 1416 1446 #: includes/admin/views/html-admin-setup-step-1.php:19 1447 #, php-format 1417 1448 msgid "If you'd prefer to skip this and set up your pages manually, our <a target=\"_blank\" href=\"%s\">documentation</a> will walk you through each step." 1418 1449 msgstr "" … … 1436 1467 #. translators: %1$s is URL to WordPress core shortcode documentation. %2$s is URL to WPJM specific shortcode reference. 1437 1468 #: includes/admin/views/html-admin-setup-step-2.php:20 1469 #, php-format 1438 1470 msgid "" 1439 1471 "(These pages are created using <a href=\"%1$s\" title=\"What is a shortcode?\" class=\"help-page-link\">shortcodes</a>,\n" … … 1531 1563 #. translators: %1$s is the URL to WPJM support documentation; %2$s is the URL to WPJM support forums. 1532 1564 #: includes/admin/views/html-admin-setup-step-3.php:52 1565 #, php-format 1533 1566 msgid "" 1534 1567 "If you need help, you can find more detail in our\n" … … 1606 1639 #. translators: Placeholder %s is the job listing title. 1607 1640 #: includes/class-job-dashboard-shortcode.php:451 1641 #, php-format 1608 1642 msgid "%s has been filled" 1609 1643 msgstr "" … … 1615 1649 #. translators: Placeholder %s is the job listing title. 1616 1650 #: includes/class-job-dashboard-shortcode.php:464 1651 #, php-format 1617 1652 msgid "%s has been marked as not filled" 1618 1653 msgstr "" … … 1620 1655 #. translators: Placeholder %s is the job listing title. 1621 1656 #: includes/class-job-dashboard-shortcode.php:472 1657 #, php-format 1622 1658 msgid "%s has been deleted" 1623 1659 msgstr "" … … 1630 1666 #. translators: Placeholder is the expiration date of the job listing. 1631 1667 #: includes/class-job-dashboard-shortcode.php:548 1668 #, php-format 1632 1669 msgid "Expires in %s" 1633 1670 msgstr "" … … 1651 1688 #. translators: %1d is the number of page views. 1652 1689 #: includes/class-stats-dashboard.php:68 1690 #, php-format 1653 1691 msgid "%1d view" 1654 1692 msgid_plural "%1d views" … … 1658 1696 #. translators: %1d is the number of impressions. 1659 1697 #: includes/class-stats-dashboard.php:70 1698 #, php-format 1660 1699 msgid "%1d impression" 1661 1700 msgid_plural "%1d impressions" … … 1707 1746 1708 1747 #. translators: Placeholder %d is the number of found search results. 1709 #: includes/class-wp-job-manager-ajax.php:193 1748 #: includes/class-wp-job-manager-ajax.php:198 1749 #, php-format 1710 1750 msgid "Search completed. Found %d matching record." 1711 1751 msgid_plural "Search completed. Found %d matching records." … … 1713 1753 msgstr[1] "" 1714 1754 1715 #: includes/class-wp-job-manager-ajax.php:29 11755 #: includes/class-wp-job-manager-ajax.php:296 1716 1756 msgid "You must be logged in to upload files using this method." 1717 1757 msgstr "" … … 1753 1793 #. translators: %1$s is version of PHP that WP Job Manager requires; %2$s is the version of PHP WordPress is running on. 1754 1794 #: includes/class-wp-job-manager-dependency-checker.php:66 1795 #, php-format 1755 1796 msgid "<strong>WP Job Manager</strong> requires a minimum PHP version of %1$s, but you are running %2$s." 1756 1797 msgstr "" … … 1767 1808 #. translators: %s is the URL for the page where users can go to update WordPress. 1768 1809 #: includes/class-wp-job-manager-dependency-checker.php:118 1810 #, php-format 1769 1811 msgid "Please <a href=\"%s\">update WordPress</a> to avoid issues." 1770 1812 msgstr "" … … 1859 1901 #: includes/class-wp-job-manager-post-types.php:376 1860 1902 #: includes/class-wp-job-manager-post-types.php:474 1903 #, php-format 1861 1904 msgid "Search %s" 1862 1905 msgstr "" … … 1868 1911 #: includes/class-wp-job-manager-post-types.php:378 1869 1912 #: includes/class-wp-job-manager-post-types.php:460 1913 #, php-format 1870 1914 msgid "All %s" 1871 1915 msgstr "" … … 1877 1921 #: includes/class-wp-job-manager-post-types.php:380 1878 1922 #: includes/class-wp-job-manager-post-types.php:480 1923 #, php-format 1879 1924 msgid "Parent %s" 1880 1925 msgstr "" … … 1884 1929 #: includes/class-wp-job-manager-post-types.php:319 1885 1930 #: includes/class-wp-job-manager-post-types.php:382 1931 #, php-format 1886 1932 msgid "Parent %s:" 1887 1933 msgstr "" … … 1893 1939 #: includes/class-wp-job-manager-post-types.php:384 1894 1940 #: includes/class-wp-job-manager-post-types.php:466 1941 #, php-format 1895 1942 msgid "Edit %s" 1896 1943 msgstr "" … … 1900 1947 #: includes/class-wp-job-manager-post-types.php:323 1901 1948 #: includes/class-wp-job-manager-post-types.php:386 1949 #, php-format 1902 1950 msgid "Update %s" 1903 1951 msgstr "" … … 1907 1955 #: includes/class-wp-job-manager-post-types.php:325 1908 1956 #: includes/class-wp-job-manager-post-types.php:388 1957 #, php-format 1909 1958 msgid "Add New %s" 1910 1959 msgstr "" … … 1914 1963 #: includes/class-wp-job-manager-post-types.php:327 1915 1964 #: includes/class-wp-job-manager-post-types.php:390 1965 #, php-format 1916 1966 msgid "New %s Name" 1917 1967 msgstr "" … … 1935 1985 #. translators: Placeholder %s is the singular label of the job listing post type. 1936 1986 #: includes/class-wp-job-manager-post-types.php:463 1987 #, php-format 1937 1988 msgid "Add %s" 1938 1989 msgstr "" … … 1940 1991 #. translators: Placeholder %s is the singular label of the job listing post type. 1941 1992 #: includes/class-wp-job-manager-post-types.php:468 1993 #, php-format 1942 1994 msgid "New %s" 1943 1995 msgstr "" … … 1946 1998 #: includes/class-wp-job-manager-post-types.php:470 1947 1999 #: includes/class-wp-job-manager-post-types.php:472 2000 #, php-format 1948 2001 msgid "View %s" 1949 2002 msgstr "" … … 1951 2004 #. translators: Placeholder %s is the singular label of the job listing post type. 1952 2005 #: includes/class-wp-job-manager-post-types.php:476 2006 #, php-format 1953 2007 msgid "No %s found" 1954 2008 msgstr "" … … 1956 2010 #. translators: Placeholder %s is the plural label of the job listing post type. 1957 2011 #: includes/class-wp-job-manager-post-types.php:478 2012 #, php-format 1958 2013 msgid "No %s found in trash" 1959 2014 msgstr "" … … 1973 2028 #. translators: Placeholder %s is the plural label of the job listing post type. 1974 2029 #: includes/class-wp-job-manager-post-types.php:487 2030 #, php-format 1975 2031 msgid "This is where you can create and manage %s." 1976 2032 msgstr "" … … 1984 2040 #. translators: Placeholder %s is the number of expired posts of this type. 1985 2041 #: includes/class-wp-job-manager-post-types.php:529 2042 #, php-format 1986 2043 msgid "Expired <span class=\"count\">(%s)</span>" 1987 2044 msgid_plural "Expired <span class=\"count\">(%s)</span>" … … 1997 2054 #. translators: Placeholder %s is the number of posts in a preview state. 1998 2055 #: includes/class-wp-job-manager-post-types.php:541 2056 #, php-format 1999 2057 msgid "Preview <span class=\"count\">(%s)</span>" 2000 2058 msgid_plural "Preview <span class=\"count\">(%s)</span>" … … 2115 2173 2116 2174 #. translators: %s is the name of the form validation that failed. 2117 #: includes/class-wp-job-manager-recaptcha.php:177 2175 #: includes/class-wp-job-manager-recaptcha.php:181 2176 #, php-format 2118 2177 msgid "\"%s\" check failed. Please try again." 2119 2178 msgstr "" 2120 2179 2121 #: includes/class-wp-job-manager-shortcodes.php:3 112122 #: includes/class-wp-job-manager-shortcodes.php:3 512180 #: includes/class-wp-job-manager-shortcodes.php:333 2181 #: includes/class-wp-job-manager-shortcodes.php:373 2123 2182 msgid "Load more listings" 2124 2183 msgstr "" … … 2126 2185 #. translators: Placeholder %s is a URL to the document on wpjobmanager.com with info on usage tracking. 2127 2186 #: includes/class-wp-job-manager-usage-tracking.php:230 2187 #, php-format 2128 2188 msgid "" 2129 2189 "<p>We'd love if you helped us make WP Job Manager better by allowing us to collect\n" … … 2134 2194 #. translators: the href tag contains the URL for the page telling users what data WPJM tracks. 2135 2195 #: includes/class-wp-job-manager-usage-tracking.php:269 2196 #, php-format 2136 2197 msgid "" 2137 2198 "Help us make Job Manager better by allowing us to collect\n" … … 2146 2207 #. translators: Placeholders %1$s and %2$s are the names of the two cookies used in WP Job Manager. 2147 2208 #: includes/class-wp-job-manager.php:195 2209 #, php-format 2148 2210 msgid "" 2149 2211 "This site adds the following cookies to help users resume job submissions that they\n" … … 2166 2228 #: includes/class-wp-job-manager.php:581 2167 2229 #: includes/forms/class-wp-job-manager-form-submit-job.php:516 2230 #, php-format 2168 2231 msgid "You are only allowed to upload a maximum of %d files." 2169 2232 msgstr "" … … 2191 2254 #. translators: Placeholder %s is the job listing post title. 2192 2255 #: includes/emails/class-wp-job-manager-email-admin-new-job.php:63 2256 #, php-format 2193 2257 msgid "New Job Listing Submitted: %s" 2194 2258 msgstr "" … … 2204 2268 #. translators: Placeholder %s is the job listing post title. 2205 2269 #: includes/emails/class-wp-job-manager-email-admin-updated-job.php:63 2270 #, php-format 2206 2271 msgid "Job Listing Updated: %s" 2207 2272 msgstr "" … … 2217 2282 #. translators: Placeholder %s is the job listing post title. 2218 2283 #: includes/emails/class-wp-job-manager-email-employer-expiring-job.php:79 2284 #, php-format 2219 2285 msgid "Job Listing Expiring: %s" 2220 2286 msgstr "" … … 2333 2399 #. translators: Placeholder %s is the label for the required field. 2334 2400 #: includes/forms/class-wp-job-manager-form-submit-job.php:437 2401 #, php-format 2335 2402 msgid "%s is a required field" 2336 2403 msgstr "" … … 2338 2405 #. translators: Placeholder %s is the field label that is did not validate. 2339 2406 #: includes/forms/class-wp-job-manager-form-submit-job.php:448 2407 #, php-format 2340 2408 msgid "%s is invalid" 2341 2409 msgstr "" … … 2349 2417 #: includes/forms/class-wp-job-manager-form-submit-job.php:489 2350 2418 #: wp-job-manager-functions.php:1529 2419 #, php-format 2351 2420 msgid "\"%1$s\" (filetype %2$s) needs to be one of the following file types: %3$s" 2352 2421 msgstr "" … … 2386 2455 #. translators: Placeholder %s is the password hint. 2387 2456 #: includes/forms/class-wp-job-manager-form-submit-job.php:761 2457 #, php-format 2388 2458 msgid "Invalid Password: %s" 2389 2459 msgstr "" … … 2399 2469 #. translators: placeholder is the URL to the job dashboard page. 2400 2470 #: includes/forms/class-wp-job-manager-form-submit-job.php:821 2471 #, php-format 2401 2472 msgid "Draft was saved. Job listing drafts can be resumed from the <a href=\"%s\">job dashboard</a>." 2402 2473 msgstr "" … … 2420 2491 #. translators: First placeholder is the plugin name, second placeholder is the My Account URL. 2421 2492 #: includes/helper/class-wp-job-manager-helper.php:400 2493 #, php-format 2422 2494 msgid "<strong>Error:</strong> The license for <strong>%1$s</strong> is not activated on this website and has been removed. Manage your activations on your <a href=\"%2$s\" rel=\"noopener noreferrer\" target=\"_blank\">My Account page</a>." 2423 2495 msgstr "" … … 2425 2497 #. translators: First placeholder is the plugin name; second placeholder is the URL to purchase the plugin. 2426 2498 #: includes/helper/class-wp-job-manager-helper.php:405 2499 #, php-format 2427 2500 msgid "<strong>Error:</strong> The license for <strong>%1$s</strong> is not valid and has been removed. <a href=\"%2$s\" rel=\"noopener noreferrer\" target=\"_blank\">Purchase a new license</a> to receive updates and support." 2428 2501 msgstr "" … … 2430 2503 #. translators: First placeholder is the plugin name, second placeholder is the My Account URL. 2431 2504 #: includes/helper/class-wp-job-manager-helper.php:410 2505 #, php-format 2432 2506 msgid "<strong>Error:</strong> The license for <strong>%1$s</strong> has expired. You must <a href=\"%2$s\" rel=\"noopener noreferrer\" target=\"_blank\">renew your license</a> to receive updates and support." 2433 2507 msgstr "" … … 2435 2509 #. translators: First placeholder is the plugin name, second placeholder is the My Account URL. 2436 2510 #: includes/helper/class-wp-job-manager-helper.php:413 2511 #, php-format 2437 2512 msgid "<strong>Error:</strong> The license for <strong>%1$s</strong> is expiring soon. Please <a href=\"%2$s\" rel=\"noopener noreferrer\" target=\"_blank\">renew your license</a> to continue receiving updates and support." 2438 2513 msgstr "" … … 2498 2573 #. translators: %1$s is the URL to the license key page. 2499 2574 #: includes/helper/class-wp-job-manager-helper.php:1136 2575 #, php-format 2500 2576 msgid "<a href=\"%1$s\">Please add or review your license keys</a> to get updates for the following extensions:" 2501 2577 msgstr "" … … 2535 2611 #. translators: placeholder is the number of active addons, which will never be zero. 2536 2612 #: includes/helper/views/html-licenses.php:62 2613 #, php-format 2537 2614 msgid "Active (%d)" 2538 2615 msgstr "" … … 2541 2618 #: includes/helper/views/html-licenses.php:71 2542 2619 #: includes/helper/views/html-licenses.php:136 2620 #, php-format 2543 2621 msgid "Plugin Icon for %s" 2544 2622 msgstr "" … … 2555 2633 #. translators: placeholder is the number of inactive addons, which will never be zero. 2556 2634 #: includes/helper/views/html-licenses.php:127 2635 #, php-format 2557 2636 msgid "Inactive (%d)" 2558 2637 msgstr "" … … 2560 2639 #. translators: Placeholder %s is the lost license key URL. 2561 2640 #: includes/helper/views/html-licenses.php:187 2641 #, php-format 2562 2642 msgid "Lost your license key? <a href=\"%s\">You can find them on the My Account page</a>." 2563 2643 msgstr "" … … 2592 2672 #: includes/widgets/class-wp-job-manager-widget-featured-jobs.php:27 2593 2673 #: includes/widgets/class-wp-job-manager-widget-featured-jobs.php:35 2674 #, php-format 2594 2675 msgid "Featured %s" 2595 2676 msgstr "" … … 2636 2717 #: includes/widgets/class-wp-job-manager-widget-recent-jobs.php:27 2637 2718 #: includes/widgets/class-wp-job-manager-widget-recent-jobs.php:35 2719 #, php-format 2638 2720 msgid "Recent %s" 2639 2721 msgstr "" … … 2677 2759 #. translators: Placeholder %s is the username. 2678 2760 #: templates/account-signin.php:26 2761 #, php-format 2679 2762 msgid "You are currently signed in as <strong>%s</strong>." 2680 2763 msgstr "" … … 2737 2820 #. translators: %1$s placeholder is URL to the blog. %2$s placeholder is the name of the site. 2738 2821 #: templates/emails/admin-expiring-job.php:32 2822 #, php-format 2739 2823 msgid "The following job listing is expiring today from <a href=\"%1$s\">%2$s</a>." 2740 2824 msgstr "" … … 2742 2826 #. translators: %1$s placeholder is URL to the blog. %2$s placeholder is the name of the site. 2743 2827 #: templates/emails/admin-expiring-job.php:35 2828 #, php-format 2744 2829 msgid "The following job listing is expiring soon from <a href=\"%1$s\">%2$s</a>." 2745 2830 msgstr "" … … 2747 2832 #. translators: Placeholder is URL to site's WP admin. 2748 2833 #: templates/emails/admin-expiring-job.php:41 2834 #, php-format 2749 2835 msgid "Visit <a href=\"%s\">WordPress admin</a> to manage the listing." 2750 2836 msgstr "" … … 2752 2838 #. translators: %1$s placeholder is URL to the blog. %2$s placeholder is the name of the site. 2753 2839 #: templates/emails/admin-new-job.php:27 2840 #, php-format 2754 2841 msgid "A new job listing has been submitted to <a href=\"%s\">%s</a>." 2755 2842 msgstr "" … … 2762 2849 #. translators: Placeholder %s is the admin job listings URL. 2763 2850 #: templates/emails/admin-new-job.php:40 2851 #, php-format 2764 2852 msgid "It is awaiting approval by an administrator in <a href=\"%s\">WordPress admin</a>." 2765 2853 msgstr "" … … 2767 2855 #. translators: %1$s placeholder is URL to the blog. %2$s placeholder is the name of the site. 2768 2856 #: templates/emails/admin-updated-job.php:26 2857 #, php-format 2769 2858 msgid "A job listing has been updated on <a href=\"%s\">%s</a>." 2770 2859 msgstr "" … … 2777 2866 #. translators: Placeholder %s is the admin job listings URL. 2778 2867 #: templates/emails/admin-updated-job.php:34 2868 #, php-format 2779 2869 msgid "The job listing is not publicly available until the changes are approved by an administrator in the site's <a href=\"%s\">WordPress admin</a>." 2780 2870 msgstr "" … … 2782 2872 #. translators: %1$s placeholder is URL to the blog. %2$s placeholder is the name of the site. 2783 2873 #: templates/emails/employer-expiring-job.php:33 2874 #, php-format 2784 2875 msgid "The following job listing is expiring today from <a href=\"%s\">%s</a>." 2785 2876 msgstr "" … … 2787 2878 #. translators: %1$s placeholder is URL to the blog. %2$s placeholder is the name of the site. 2788 2879 #: templates/emails/employer-expiring-job.php:42 2880 #, php-format 2789 2881 msgid "The following job listing is expiring soon from <a href=\"%s\">%s</a>." 2790 2882 msgstr "" … … 2792 2884 #. translators: Placeholder %s is the job listing dashboard URL. 2793 2885 #: templates/emails/employer-expiring-job.php:51 2886 #, php-format 2794 2887 msgid "Visit the <a href=\"%s\">job listing dashboard</a> to manage the listing." 2795 2888 msgstr "" … … 2798 2891 #: templates/emails/plain/admin-expiring-job.php:31 2799 2892 #: templates/emails/plain/employer-expiring-job.php:30 2893 #, php-format 2800 2894 msgid "The following job listing is expiring today from %1$s (%2$s)." 2801 2895 msgstr "" … … 2804 2898 #: templates/emails/plain/admin-expiring-job.php:38 2805 2899 #: templates/emails/plain/employer-expiring-job.php:33 2900 #, php-format 2806 2901 msgid "The following job listing is expiring soon from %1$s (%2$s)." 2807 2902 msgstr "" … … 2809 2904 #. translators: Placeholder %s is the edit job URL. 2810 2905 #: templates/emails/plain/admin-expiring-job.php:46 2906 #, php-format 2811 2907 msgid "Visit WordPress admin (%s) to manage the listing." 2812 2908 msgstr "" … … 2814 2910 #. translators: %1$s placeholder is the name of the site, %2$s placeholder is URL to the blog. 2815 2911 #: templates/emails/plain/admin-new-job.php:24 2912 #, php-format 2816 2913 msgid "A new job listing has been submitted to %1$s (%2$s)." 2817 2914 msgstr "" … … 2819 2916 #. translators: Placeholder %s is the admin job listings URL. 2820 2917 #: templates/emails/plain/admin-new-job.php:31 2918 #, php-format 2821 2919 msgid "It is awaiting approval by an administrator in WordPress admin (%s)." 2822 2920 msgstr "" … … 2824 2922 #. translators: %1$s placeholder is the name of the site, %2$s placeholder is URL to the blog. 2825 2923 #: templates/emails/plain/admin-updated-job.php:24 2924 #, php-format 2826 2925 msgid "A job listing has been updated on %1$s (%2$s)." 2827 2926 msgstr "" … … 2829 2928 #. translators: Placeholder %s is the admin job listings URL. 2830 2929 #: templates/emails/plain/admin-updated-job.php:31 2930 #, php-format 2831 2931 msgid "The job listing is not publicly available until the changes are approved by an administrator in the site's WordPress admin (%s)." 2832 2932 msgstr "" … … 2834 2934 #. translators: Placeholder %s is the job listing dashboard URL. 2835 2935 #: templates/emails/plain/employer-expiring-job.php:36 2936 #, php-format 2836 2937 msgid "Visit the job listing dashboard (%s) to manage the listing." 2837 2938 msgstr "" 2838 2939 2839 #: templates/form-fields/file-field.php:60 2940 #: templates/form-fields/file-field.php:61 2941 #, php-format 2840 2942 msgid "Maximum file size: %s." 2841 2943 msgstr "" … … 2862 2964 #. translators: %1$s is the email address, %2$s is the subject query args. 2863 2965 #: templates/job-application-email.php:19 2966 #, php-format 2864 2967 msgid "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>" 2865 2968 msgstr "" … … 2883 2986 #. translators: Placeholder is the search term. 2884 2987 #: templates/job-dashboard.php:64 2988 #, php-format 2885 2989 msgid "No results found for \"%s\"." 2886 2990 msgstr "" … … 2928 3032 2929 3033 #: templates/job-submit.php:25 3034 #, php-format 2930 3035 msgid "You are editing an existing job. %s" 2931 3036 msgstr "" … … 2945 3050 #. translators: %1$s is the job listing post type name, %2$s is the job listing URL. 2946 3051 #: templates/job-submitted.php:36 3052 #, php-format 2947 3053 msgid "%1$s listed successfully. To view your listing <a href=\"%2$s\">click here</a>." 2948 3054 msgstr "" … … 2950 3056 #. translators: Placeholder %s is the job listing post type name. 2951 3057 #: templates/job-submitted.php:47 3058 #, php-format 2952 3059 msgid "%s submitted successfully. Your listing will be visible once approved." 2953 3060 msgstr "" 2954 3061 2955 3062 #: templates/job-submitted.php:61 3063 #, php-format 2956 3064 msgid " <a href=\"%1$s\"> View your %2$s</a>" 2957 3065 msgstr "" 2958 3066 2959 3067 #: templates/job-submitted.php:69 3068 #, php-format 2960 3069 msgid " <a href=\"%s\"> %s</a>" 2961 3070 msgstr "" … … 2963 3072 #. translators: %1$s is the job listing post type name. 2964 3073 #: templates/job-submitted.php:92 3074 #, php-format 2965 3075 msgid "%1$s submitted successfully." 2966 3076 msgstr "" … … 3053 3163 #. translators: %s is the list of allowed file types. 3054 3164 #: wp-job-manager-functions.php:1532 3165 #, php-format 3055 3166 msgid "Uploaded files need to be one of the following file types: %s" 3056 3167 msgstr "" … … 3086 3197 #. translators: %1$s is the job listing title; %2$s is the URL for the current WordPress instance. 3087 3198 #: wp-job-manager-template.php:249 3199 #, php-format 3088 3200 msgid "Application via %1$s listing on %2$s" 3089 3201 msgstr "" 3090 3202 3091 #: wp-job-manager-template.php:7 093203 #: wp-job-manager-template.php:715 3092 3204 msgid "Your email" 3093 3205 msgstr "" 3094 3206 3095 #: wp-job-manager-template.php:71 03207 #: wp-job-manager-template.php:716 3096 3208 msgid "you@yourdomain.com" 3097 3209 msgstr "" 3098 3210 3099 #: wp-job-manager-template.php:7 183211 #: wp-job-manager-template.php:724 3100 3212 msgid "Username" 3101 3213 msgstr "" 3102 3214 3103 #: wp-job-manager-template.php:7 273215 #: wp-job-manager-template.php:733 3104 3216 msgid "Password" 3105 3217 msgstr "" 3106 3218 3107 #: wp-job-manager-template.php:7 373219 #: wp-job-manager-template.php:743 3108 3220 msgid "Verify Password" 3109 3221 msgstr "" 3110 3222 3111 #: wp-job-manager-template.php:7 653223 #: wp-job-manager-template.php:771 3112 3224 msgid "Posted on " 3113 3225 msgstr "" 3114 3226 3115 3227 #. translators: Placeholder %s is the relative, human readable time since the job listing was posted. 3116 #: wp-job-manager-template.php:771 3117 #: wp-job-manager-template.php:797 3228 #: wp-job-manager-template.php:777 3229 #: wp-job-manager-template.php:803 3230 #, php-format 3118 3231 msgid "Posted %s ago" 3119 3232 msgstr "" 3120 3233 3121 3234 #. translators: Placeholder %s is the relative, human readable time the job listing is scheduled to be published. 3122 #: wp-job-manager-template.php:774 3235 #: wp-job-manager-template.php:780 3236 #, php-format 3123 3237 msgid "Scheduled to publish in %s" 3124 3238 msgstr "" 3125 3239 3126 #: wp-job-manager-template.php:81 23240 #: wp-job-manager-template.php:818 3127 3241 msgid "Remote" 3128 3242 msgstr "" 3129 3243 3130 #: wp-job-manager-template.php:8 363244 #: wp-job-manager-template.php:842 3131 3245 msgid "Anywhere" 3132 3246 msgstr "" -
wp-job-manager/trunk/readme.txt
r3313803 r3468765 3 3 Tags: jobs, careers, company, hiring, job board 4 4 Requires at least: 6.4 5 Tested up to: 6. 8.15 Tested up to: 6.6 6 6 Requires PHP: 7.2 7 Stable tag: 2.4. 07 Stable tag: 2.4.1 8 8 License: GPLv3 9 9 License URI: http://www.gnu.org/licenses/gpl-3.0.html … … 147 147 148 148 == Changelog == 149 150 ### 2.4.1 - 2026-02-24 151 * Add permission check to listing query parameters (#2914) 152 * Fix structured data output for password-protected listings (#2913) 153 154 * Update actions/cache to use v4 (#2896) 155 * reCaptcha script not being loaded (#2893) 156 * add a additional action to the do_feed_rss2 157 * fix hardcoded dashboard expiration date format 158 * Dev: Fix deprecated methods 159 * Fix file input field for forms not marked as required 149 160 150 161 ### 2.4.0 - 2024-08-08 … … 188 199 * Fix PHP 7.x error for mixed returned type (#2726) 189 200 190 ### 2.2.0 - 2024-01-29191 New:192 193 * Allow scheduling listings during job submission — add an option to show a 'Scheduled Date' field in the job submission form194 * Add new [jobs] shortcode parameter, featured_first so you can ensure featured listings always show up on top.195 * Add support for user sessions without a full account (used in the Job Alerts extension)196 197 Changes:198 199 * Improve styling for rich text e-mails200 * Include plain text alternative for rich text e-mails for better compatibility201 * Store previous license when plugin is deactivated for easier reactivation later.202 * Update design for settings and marketplace pages203 204 Fixes:205 206 * Fix custom role permission issues (#2673)207 * Fix RSS, Reset, Add Alert links not showing on search page without a keyword208 * Improve PHP 8 support209 * Fix numeric settings field issues210 * Improve e-mail formatting and encoding, remove extra whitespace211 * Add file type validation and error message to company logo upload212 * Fix cache issue when marking jobs as filled/not filled via bulk actions213 * Do not emit warning when user with insufficient access to Job Manager menu tries to access wp-admin214 -
wp-job-manager/trunk/templates/form-fields/file-field.php
r2166302 r3468765 47 47 class="<?php echo esc_attr( implode( ' ', $classes ) ); ?>" 48 48 data-file_types="<?php echo esc_attr( implode( '|', $allowed_mime_types ) ); ?>" 49 <?php if ( ! empty( $field['multiple'] ) ) echo 'multiple'; ?> 49 <?php if ( ! empty( $field['required'] ) ) echo ' required'; ?> 50 <?php if ( ! empty( $field['multiple'] ) ) echo ' multiple'; ?> 50 51 <?php if ( $file_limit ) echo ' data-file_limit="' . absint( $file_limit ) . '"';?> 51 52 <?php if ( ! empty( $field['file_limit_message'] ) ) echo ' data-file_limit_message="' . esc_attr( $field['file_limit_message'] ) . '"';?> -
wp-job-manager/trunk/vendor/autoload.php
r3078797 r3468765 15 15 } 16 16 } 17 trigger_error( 18 $err, 19 E_USER_ERROR 20 ); 17 throw new RuntimeException($err); 21 18 } 22 19 -
wp-job-manager/trunk/vendor/composer/InstalledVersions.php
r3078797 r3468765 28 28 { 29 29 /** 30 * @var string|null if set (by reflection by Composer), this should be set to the path where this class is being copied to 31 * @internal 32 */ 33 private static $selfDir = null; 34 35 /** 30 36 * @var mixed[]|null 31 37 * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null 32 38 */ 33 39 private static $installed; 40 41 /** 42 * @var bool 43 */ 44 private static $installedIsLocalDir; 34 45 35 46 /** … … 310 321 self::$installed = $data; 311 322 self::$installedByVendor = array(); 323 324 // when using reload, we disable the duplicate protection to ensure that self::$installed data is 325 // always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not, 326 // so we have to assume it does not, and that may result in duplicate data being returned when listing 327 // all installed packages for example 328 self::$installedIsLocalDir = false; 329 } 330 331 /** 332 * @return string 333 */ 334 private static function getSelfDir() 335 { 336 if (self::$selfDir === null) { 337 self::$selfDir = strtr(__DIR__, '\\', '/'); 338 } 339 340 return self::$selfDir; 312 341 } 313 342 … … 323 352 324 353 $installed = array(); 354 $copiedLocalDir = false; 325 355 326 356 if (self::$canGetVendors) { 357 $selfDir = self::getSelfDir(); 327 358 foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { 359 $vendorDir = strtr($vendorDir, '\\', '/'); 328 360 if (isset(self::$installedByVendor[$vendorDir])) { 329 361 $installed[] = self::$installedByVendor[$vendorDir]; … … 331 363 /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */ 332 364 $required = require $vendorDir.'/composer/installed.php'; 333 $installed[] = self::$installedByVendor[$vendorDir] = $required; 334 if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { 335 self::$installed = $installed[count($installed) - 1]; 365 self::$installedByVendor[$vendorDir] = $required; 366 $installed[] = $required; 367 if (self::$installed === null && $vendorDir.'/composer' === $selfDir) { 368 self::$installed = $required; 369 self::$installedIsLocalDir = true; 336 370 } 371 } 372 if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) { 373 $copiedLocalDir = true; 337 374 } 338 375 } … … 351 388 } 352 389 353 if (self::$installed !== array() ) {390 if (self::$installed !== array() && !$copiedLocalDir) { 354 391 $installed[] = self::$installed; 355 392 } -
wp-job-manager/trunk/vendor/composer/autoload_static.php
r3078797 r3468765 12 12 13 13 public static $prefixLengthsPsr4 = array ( 14 'S' => 14 'S' => 15 15 array ( 16 16 'Symfony\\Polyfill\\Php80\\' => 23, … … 18 18 'Sabberworm\\CSS\\' => 15, 19 19 ), 20 'P' => 20 'P' => 21 21 array ( 22 22 'Pelago\\Emogrifier\\' => 18, … … 25 25 26 26 public static $prefixDirsPsr4 = array ( 27 'Symfony\\Polyfill\\Php80\\' => 27 'Symfony\\Polyfill\\Php80\\' => 28 28 array ( 29 29 0 => __DIR__ . '/..' . '/symfony/polyfill-php80', 30 30 ), 31 'Symfony\\Component\\CssSelector\\' => 31 'Symfony\\Component\\CssSelector\\' => 32 32 array ( 33 33 0 => __DIR__ . '/..' . '/symfony/css-selector', 34 34 ), 35 'Sabberworm\\CSS\\' => 35 'Sabberworm\\CSS\\' => 36 36 array ( 37 37 0 => __DIR__ . '/..' . '/sabberworm/php-css-parser/src', 38 38 ), 39 'Pelago\\Emogrifier\\' => 39 'Pelago\\Emogrifier\\' => 40 40 array ( 41 41 0 => __DIR__ . '/..' . '/pelago/emogrifier/src', -
wp-job-manager/trunk/vendor/composer/installed.php
r3132877 r3468765 4 4 'pretty_version' => 'dev-trunk', 5 5 'version' => 'dev-trunk', 6 'reference' => ' a909c7d015e52f8c2add651b30a33c713c4e3033',6 'reference' => 'e45fc2de016422a9a71d29fc53d12af1d2b4b6d2', 7 7 'type' => 'wordpress-plugin', 8 8 'install_path' => __DIR__ . '/../../', … … 14 14 'pretty_version' => 'dev-trunk', 15 15 'version' => 'dev-trunk', 16 'reference' => ' a909c7d015e52f8c2add651b30a33c713c4e3033',16 'reference' => 'e45fc2de016422a9a71d29fc53d12af1d2b4b6d2', 17 17 'type' => 'wordpress-plugin', 18 18 'install_path' => __DIR__ . '/../../', -
wp-job-manager/trunk/vendor/composer/platform_check.php
r3078797 r3468765 20 20 } 21 21 } 22 trigger_error( 23 'Composer detected issues in your platform: ' . implode(' ', $issues), 24 E_USER_ERROR 22 throw new \RuntimeException( 23 'Composer detected issues in your platform: ' . implode(' ', $issues) 25 24 ); 26 25 } -
wp-job-manager/trunk/wp-job-manager-template.php
r3078797 r3468765 338 338 } 339 339 340 // Only show structured data for un-filled and published job listings. 341 $output_structured_data = ! is_position_filled( $post ) && 'publish' === $post->post_status; 340 // Only show structured data for un-filled, published, and non-password-protected job listings. 341 $output_structured_data = ! is_position_filled( $post ) 342 && 'publish' === $post->post_status 343 && ! post_password_required( $post ); 342 344 343 345 /** … … 354 356 /** 355 357 * Gets the structured data for the job listing. 358 * 359 * Note: This function does not check if the job listing is published, filled, 360 * password-protected, or otherwise hidden. Use wpjm_output_job_listing_structured_data() 361 * to check if structured data should be output for a given job listing. 356 362 * 357 363 * @since 1.28.0 -
wp-job-manager/trunk/wp-job-manager.php
r3313803 r3468765 4 4 * Plugin URI: https://wpjobmanager.com/ 5 5 * Description: Manage job listings from the WordPress admin panel, and allow users to post jobs directly to your site. 6 * Version: 2.4. 06 * Version: 2.4.1 7 7 * Author: Automattic 8 8 * Author URI: https://wpjobmanager.com/ 9 9 * Requires at least: 6.4 10 * Tested up to: 6. 8.110 * Tested up to: 6.6 11 11 * Requires PHP: 7.4 12 12 * Text Domain: wp-job-manager … … 22 22 23 23 // Define constants. 24 define( 'JOB_MANAGER_VERSION', '2.4. 0' );24 define( 'JOB_MANAGER_VERSION', '2.4.1' ); 25 25 define( 'JOB_MANAGER_PLUGIN_DIR', untrailingslashit( plugin_dir_path( __FILE__ ) ) ); 26 26 define( 'JOB_MANAGER_PLUGIN_URL', untrailingslashit( plugins_url( basename( plugin_dir_path( __FILE__ ) ), basename( __FILE__ ) ) ) );
Note: See TracChangeset
for help on using the changeset viewer.