{"id":324528,"date":"2026-06-24T06:05:50","date_gmt":"2026-06-24T06:05:50","guid":{"rendered":"https:\/\/ja.wordpress.org\/plugins\/shift-manager\/"},"modified":"2026-06-24T06:05:16","modified_gmt":"2026-06-24T06:05:16","slug":"ypsupport-shift-scheduler","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/ypsupport-shift-scheduler\/","author":23514400,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.5","stable_tag":"1.0.5","tested":"7.0","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"YPSupport Shift Scheduler","header_author":"Masao Yoshimi","header_description":"\u30b9\u30bf\u30c3\u30d5\u306e\u30b7\u30d5\u30c8\u7ba1\u7406\u30d7\u30e9\u30b0\u30a4\u30f3\u3002\u30b9\u30bf\u30c3\u30d5\u7ba1\u7406\u3001\u30b7\u30d5\u30c8\u767b\u9332\u30fb\u7de8\u96c6\u30fb\u524a\u9664\u3001\u30ab\u30ec\u30f3\u30c0\u30fc\u8868\u793a\u3001\u7533\u8acb\u30fb\u627f\u8a8d\u30d5\u30ed\u30fc\u3001\u81ea\u52d5\u751f\u6210\u6a5f\u80fd\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002","assets_banners_color":"243751","last_updated":"2026-06-24 06:05:16","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/ypsupport-shift-scheduler\/","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":27,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.5":{"tag":"1.0.5","author":"ypsupport","date":"2026-06-24 06:05:16"}},"upgrade_notice":{"1.0.5":"<p>Internal naming fix for WordPress.org review (JavaScript globals prefixed). No functional changes.<\/p>","1.0.4":"<p>Coding-standard fixes for WordPress.org Plugin Check. No functional changes.<\/p>","1.0.3":"<p>Plugin renamed and restructured (data migrates automatically). Shortcodes changed to the [ypss_*] prefix \u2014 update pages using the old shortcodes after upgrading.<\/p>","1.0.2":"<p>Fixes an issue where shift request acceptance could not be started for some months. Update recommended.<\/p>","1.0.1":"<p>Adds Freemius-based license management and automatic free\/premium handling.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3584058,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3584058,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3584058,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3584058,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.5"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3584058,"resolution":"1","location":"assets","locale":"","width":1656,"height":1153},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3584058,"resolution":"2","location":"assets","locale":"","width":1645,"height":1327},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3584058,"resolution":"3","location":"assets","locale":"","width":1689,"height":1035},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3584058,"resolution":"4","location":"assets","locale":"","width":1663,"height":1222},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3584058,"resolution":"5","location":"assets","locale":"","width":1935,"height":1713},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3584058,"resolution":"6","location":"assets","locale":"","width":1635,"height":1212}},"screenshots":{"1":"Staff shift request form on a smartphone. No account needed \u2014 staff submit via a personal link. Works on both mobile and desktop","2":"Auto-scheduling screen. The schedule is built automatically from collected staff requests","3":"Calendar view. Browse the schedule in weekly or monthly format","4":"Shift request and approval screen. Managers review and approve staff requests"}},"plugin_section":[],"plugin_tags":[2156,4062,55931,11420],"plugin_category":[40],"plugin_contributors":[78154,268643],"plugin_business_model":[],"class_list":["post-324528","plugin","type-plugin","status-publish","hentry","plugin_tags-management","plugin_tags-schedule","plugin_tags-shift","plugin_tags-staff","plugin_category-calendar-and-events","plugin_contributors-freemius","plugin_contributors-ypsupport","plugin_committers-ypsupport"],"banners":{"banner":"https:\/\/ps.w.org\/ypsupport-shift-scheduler\/assets\/banner-772x250.png?rev=3584058","banner_2x":"https:\/\/ps.w.org\/ypsupport-shift-scheduler\/assets\/banner-1544x500.png?rev=3584058","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/ypsupport-shift-scheduler\/assets\/icon-128x128.png?rev=3584058","icon_2x":"https:\/\/ps.w.org\/ypsupport-shift-scheduler\/assets\/icon-256x256.png?rev=3584058","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ypsupport-shift-scheduler\/assets\/screenshot-1.png?rev=3584058","caption":"Staff shift request form on a smartphone. No account needed \u2014 staff submit via a personal link. Works on both mobile and desktop"},{"src":"https:\/\/ps.w.org\/ypsupport-shift-scheduler\/assets\/screenshot-2.png?rev=3584058","caption":"Auto-scheduling screen. The schedule is built automatically from collected staff requests"},{"src":"https:\/\/ps.w.org\/ypsupport-shift-scheduler\/assets\/screenshot-3.png?rev=3584058","caption":"Calendar view. Browse the schedule in weekly or monthly format"},{"src":"https:\/\/ps.w.org\/ypsupport-shift-scheduler\/assets\/screenshot-4.png?rev=3584058","caption":"Shift request and approval screen. Managers review and approve staff requests"},{"src":"https:\/\/ps.w.org\/ypsupport-shift-scheduler\/assets\/screenshot-5.png?rev=3584058","caption":""},{"src":"https:\/\/ps.w.org\/ypsupport-shift-scheduler\/assets\/screenshot-6.png?rev=3584058","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>YPSupport Shift Scheduler<\/strong> is a WordPress plugin that collects shift requests from your staff and automatically builds the schedule. It's a simple, fast scheduling tool for stores and facilities that are still managing shifts manually with spreadsheets or Google Forms.<\/p>\n\n<h4>Does this sound familiar?<\/h4>\n\n<ul>\n<li>Coordinating shifts takes longer as your team grows<\/li>\n<li>You're still copying and compiling shift requests by hand every week<\/li>\n<li>You don't want to keep paying monthly per-user fees for a dedicated SaaS tool<\/li>\n<li>Giving every staff member a WordPress account feels like too much overhead<\/li>\n<\/ul>\n\n<h4>Key Features (Free)<\/h4>\n\n<ul>\n<li><strong>Staff Management<\/strong> \u2014 Add, edit, and remove staff members<\/li>\n<li><strong>Shift Registration &amp; Editing<\/strong> \u2014 Create, edit, and delete shifts<\/li>\n<li><strong>Calendar View<\/strong> \u2014 View the schedule in weekly or monthly calendar format<\/li>\n<li><strong>Shift Request &amp; Approval Flow<\/strong> \u2014 Staff submit requests; managers review and approve<\/li>\n<li><strong>Account-Free Frontend Submission<\/strong> \u2014 Staff submit shift requests via a unique personal link \u2014 no login required. Each link is tied to one staff member, keeping submissions secure<\/li>\n<li><strong>Basic Auto-Scheduling<\/strong> \u2014 Automatically build a shift schedule from collected requests<\/li>\n<li><strong>Email Notifications<\/strong> \u2014 Send email notifications for shift-related events<\/li>\n<li><strong>CSV Import \/ Export (Shifts)<\/strong> \u2014 Import and export shift data in CSV format<\/li>\n<\/ul>\n\n<h4>Your Server. One-Time Payment.<\/h4>\n\n<p>YPSupport Shift Scheduler runs entirely on your own WordPress site. Staff data never leaves your server. No monthly fees, no per-user charges.<\/p>\n\n<h3>Shortcodes<\/h3>\n\n<p>Add any of these shortcodes to a page or post. Then set those pages under <strong>Shift Management &gt; Page Links<\/strong> so the plugin can link to them from emails.<\/p>\n\n<ul>\n<li><code>[ypss_request_form]<\/code> \u2014 Shift request form for staff. Works without a WordPress login when opened via a staff member's personal link. Optional attribute: <code>title<\/code>. Example: <code>[ypss_request_form title=\"Submit your shifts\"]<\/code><\/li>\n<li><code>[ypss_my_requests]<\/code> \u2014 Shows the logged-in staff member's own request history. (No attributes.)<\/li>\n<li><code>[ypss_schedule]<\/code> \u2014 Displays the published (confirmed) schedule for staff to view. Optional attribute: <code>title<\/code>.<\/li>\n<li><code>[ypss_week_schedule]<\/code> \u2014 Compact one-week view of upcoming shifts. Optional attribute: <code>title<\/code>.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin ZIP, or search for \"YPSupport Shift Scheduler\" under <strong>Plugins &gt; Add New<\/strong> in your WordPress admin.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Open <strong>Shift Management<\/strong> from the admin menu and register your staff.<\/li>\n<li>Generate a unique submission link for each staff member and share it with them.<\/li>\n<li>Once requests come in, create or auto-generate the schedule.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20staff%20need%20a%20wordpress%20account%3F\"><h3>Do staff need a WordPress account?<\/h3><\/dt>\n<dd><p>No. Staff submit their shift requests via a personal link issued by the manager \u2014 no login required. Only managers and administrators who need to manage shifts require a WordPress account.<\/p><\/dd>\n<dt id=\"is%20the%20personal%20link%20secure%3F\"><h3>Is the personal link secure?<\/h3><\/dt>\n<dd><p>Yes. Each link contains a unique, unguessable token tied to that specific staff member. Links can be reissued or revoked at any time from the admin dashboard.<\/p><\/dd>\n<dt id=\"is%20there%20a%20monthly%20fee%3F\"><h3>Is there a monthly fee?<\/h3><\/dt>\n<dd><p>No. The free version is free, and it runs on your own WordPress site. There are no external SaaS subscriptions or per-user charges.<\/p><\/dd>\n<dt id=\"where%20is%20staff%20data%20stored%3F\"><h3>Where is staff data stored?<\/h3><\/dt>\n<dd><p>All data is stored in your WordPress site's own database. Nothing is sent to external cloud services.<\/p><\/dd>\n<dt id=\"does%20it%20work%20on%20mobile%3F\"><h3>Does it work on mobile?<\/h3><\/dt>\n<dd><p>Yes. The staff-facing shift request form is responsive and works on both smartphones and desktop browsers.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Changed: Prefixed JavaScript global object names (e.g. ypssData, ypssAg, ypssPublic) to avoid collisions, per WordPress.org review. No functional changes.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Fixed: Replaced mt_srand() with a deterministic shuffle so auto-scheduling results stay reproducible between preview and confirmation (resolves Plugin Check notices).<\/li>\n<li>Fixed: Corrected coding-standard annotations for file-stream and migration queries flagged by Plugin Check.<\/li>\n<li>Changed: Shortened the readme short description.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Changed: Renamed the plugin to \"YPSupport Shift Scheduler\" with a unique prefix across all functions, classes, options, and shortcodes (existing data is migrated automatically on update).<\/li>\n<li>Changed: Pro-only features are now fully separated into a premium module, so the free version contains only free functionality.<\/li>\n<li>Changed: Inline scripts and styles are now loaded via the standard WordPress enqueue APIs.<\/li>\n<li>Fixed: Shift CSV import no longer drops rows whose fields contain line breaks, and is more tolerant of time formats.<\/li>\n<li>Note: Shortcodes changed to [ypss_request_form], [ypss_my_requests], [ypss_schedule], [ypss_week_schedule] (Pro: [ypss_groups], [ypss_groups_admin]). Update any pages that used the old shortcodes.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fixed: Shift request acceptance could not be started for a month that had not been opened before. The status now defaults correctly to \"closed\", so opening works as expected.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Added: License management and automatic free\/premium separation via Freemius.<\/li>\n<li>Added: Activating the Pro version now automatically deactivates the free version.<\/li>\n<li>Changed: Plugin deletion now reliably removes all plugin data (custom tables, options, transients, and user meta).<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Collect staff shift requests via a unique link (no account needed) and automatically build your schedule. Ditch the spreadsheets.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/324528","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=324528"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ypsupport"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=324528"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=324528"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=324528"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=324528"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=324528"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=324528"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}