{"id":236522,"date":"2025-06-23T05:38:29","date_gmt":"2025-06-23T05:38:29","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/auto-post-expiry-manager\/"},"modified":"2025-06-23T05:38:10","modified_gmt":"2025-06-23T05:38:10","slug":"auto-post-expiry-manager","status":"publish","type":"plugin","link":"https:\/\/azb.wordpress.org\/plugins\/auto-post-expiry-manager\/","author":20997968,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0","stable_tag":"trunk","tested":"6.8.5","requires":"5.0","requires_php":"7.2","requires_plugins":null,"header_name":"Auto Post Expiry Manager","header_author":"Hardik Galiya","header_description":"Auto-expire posts based on a custom expiry datetime field. Includes status selection and email notification.","assets_banners_color":"1b3752","last_updated":"2025-06-23 05:38:10","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/profiles.wordpress.org\/hardik2104\/","rating":0,"author_block_rating":0,"active_installs":90,"downloads":512,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":{"1.0":"<p>First stable version.<\/p>"},"ratings":[],"assets_icons":{"icon-128_128.png":{"filename":"icon-128_128.png","revision":3316088,"resolution":"128x128","location":"assets","locale":""}},"assets_banners":{"banner-1544_500.png":{"filename":"banner-1544_500.png","revision":3316088,"resolution":"1544x500","location":"assets","locale":""},"banner-772_250.png":{"filename":"banner-772_250.png","revision":3316088,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":[],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Post edit screen with expiry date and time field.","2":"Auto-drafting of the post after expiry."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[23987,19855,19853,243938,243939],"plugin_category":[],"plugin_contributors":[243940],"plugin_business_model":[],"class_list":["post-236522","plugin","type-plugin","status-publish","hentry","plugin_tags-auto-unpublish","plugin_tags-expire-posts","plugin_tags-post-expiration","plugin_tags-post-lifecycle","plugin_tags-schedule-post-draft","plugin_contributors-hardik2104","plugin_committers-hardik2104"],"banners":{"banner":"https:\/\/ps.w.org\/auto-post-expiry-manager\/assets\/banner-772_250.png?rev=3316088","banner_2x":"https:\/\/ps.w.org\/auto-post-expiry-manager\/assets\/banner-1544_500.png?rev=3316088","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/auto-post-expiry-manager\/assets\/icon-128_128.png?rev=3316088","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Auto Post Expiry Manager<\/strong> allows you to set an expiry date and time for any post or custom post type. Once the scheduled expiry time is reached, the post will automatically switch from \"Published\" to \"Draft\" status.<\/p>\n\n<p>It's useful for:\n- Event announcements\n- Time-sensitive promotions\n- Auto-drafting outdated posts\n- Limiting visibility on dated content<\/p>\n\n<p><strong>Key Features:<\/strong>\n- Works with <strong>all public post types<\/strong>\n- Set expiration time using a simple <strong>datetime picker<\/strong>\n- Lightweight cron job runs every minute\n- Automatically removes expiry after execution\n- Manual trigger available via URL for testing<\/p>\n\n<h3>License<\/h3>\n\n<p>This plugin is licensed under the <a href=\"https:\/\/www.gnu.org\/licenses\/gpl-2.0.html\">GPLv2 or later<\/a>.<br \/>\nCopyright (c) 2025 Hardik Galiya<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Edit any post or custom post type. Use the <strong>\"Expiry Date &amp; Time\"<\/strong> box in the sidebar to set when it should expire.<\/li>\n<li>That's it! The post will be drafted automatically at the scheduled time.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='will%20this%20work%20for%20custom%20post%20types%3F'><h3>Will this work for custom post types?<\/h3><\/dt>\n<dd><p>Yes, it works for all <strong>public<\/strong> post types.<\/p><\/dd>\n<dt id='what%20happens%20to%20the%20post%20after%20expiry%3F'><h3>What happens to the post after expiry?<\/h3><\/dt>\n<dd><p>The post status is changed to <strong>Draft<\/strong> and the expiry field is cleared.<\/p><\/dd>\n<dt id='can%20i%20manually%20trigger%20the%20expiry%20check%3F'><h3>Can I manually trigger the expiry check?<\/h3><\/dt>\n<dd><p>Yes. You can run <code>yoursite.com\/wp-admin\/?force_expire=1<\/code> as an admin to manually check and expire posts.<\/p><\/dd>\n<dt id='does%20it%20use%20wp%20cron%3F'><h3>Does it use WP Cron?<\/h3><\/dt>\n<dd><p>Yes, a custom event is scheduled to run every minute using <code>wp_schedule_event()<\/code>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial release of Auto Post Expiry Manager.<\/li>\n<\/ul>","raw_excerpt":"Automatically expire posts and custom post types at a specific date and time. Works with all public post types and uses a lightweight cron scheduler.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/236522","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=236522"}],"author":[{"embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/hardik2104"}],"wp:attachment":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=236522"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=236522"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=236522"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=236522"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=236522"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=236522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}