{"id":286684,"date":"2026-03-13T18:05:49","date_gmt":"2026-03-13T18:05:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/plucky-works\/"},"modified":"2026-08-20T21:15:20","modified_gmt":"2026-08-20T21:15:20","slug":"plucky-works","status":"publish","type":"plugin","link":"https:\/\/pcd.wordpress.org\/plugins\/plucky-works\/","author":23460091,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.5.1","stable_tag":"1.5.1","tested":"7.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Plucky Works","header_author":"Plucky Works","header_description":"WordPress Plugin for Plucky Works.","assets_banners_color":"dca8af","last_updated":"2026-08-20 21:15:20","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.pluckyworks.org\/","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":844,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.1":{"tag":"1.1.1","author":"pluckyworks","date":"2026-05-21 19:19:42"},"1.2.0":{"tag":"1.2.0","author":"pluckyworks","date":"2026-06-02 23:47:03"},"1.3.0":{"tag":"1.3.0","author":"pluckyworks","date":"2026-07-28 13:12:16"},"1.3.1":{"tag":"1.3.1","author":"pluckyworks","date":"2026-07-28 13:48:56"},"1.4.0":{"tag":"1.4.0","author":"pluckyworks","date":"2026-08-11 02:50:37"},"1.5.0":{"tag":"1.5.0","author":"pluckyworks","date":"2026-08-12 01:12:37"},"1.5.1":{"tag":"1.5.1","author":"pluckyworks","date":"2026-08-20 21:15:20"},"wp-v1.0":{"tag":"wp-v1.0","author":"pluckyworks","date":"2026-03-13 18:05:16"},"wp-v1.1":{"tag":"wp-v1.1","author":"pluckyworks","date":"2026-05-21 18:44:47"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3482191,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3482191,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3482191,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3482191,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3482191,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.1","1.2.0","1.3.0","1.3.1","1.4.0","1.5.0","1.5.1","wp-v1.0","wp-v1.1"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[257705,1248,850,5699,257704],"plugin_category":[],"plugin_contributors":[257706],"plugin_business_model":[],"class_list":["post-286684","plugin","type-plugin","status-publish","hentry","plugin_tags-collaborative-journalism","plugin_tags-news","plugin_tags-rss","plugin_tags-syndication","plugin_tags-wire-service","plugin_contributors-pluckyworks","plugin_committers-pluckyworks"],"banners":{"banner":"https:\/\/ps.w.org\/plucky-works\/assets\/banner-772x250.png?rev=3482191","banner_2x":"https:\/\/ps.w.org\/plucky-works\/assets\/banner-1544x500.png?rev=3482191","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/plucky-works\/assets\/icon.svg?rev=3482191","icon":"https:\/\/ps.w.org\/plucky-works\/assets\/icon.svg?rev=3482191","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>This plugin creates a dedicated RSS feed from your WordPress posts so they can be imported into Plucky Wire automatically.<\/p>\n\n<p>Plucky Wire is a simple website that helps newsrooms share stories with each other. It is one of several built by Plucky Works, a small software company that works directly with editors to build practical tools for local news.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>plucky-works<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the Plugins menu in WordPress<\/li>\n<li>Go to <strong>Plucky Works<\/strong> in the admin sidebar to configure your feed<\/li>\n<li>Copy the feed URL shown on the settings page and add it as an RSS source in your Plucky Works network<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20can%20i%20find%20my%20feed%20url%3F\"><h3>Where can I find my feed URL?<\/h3><\/dt>\n<dd><p>Go to <strong>Plucky Works<\/strong> in the WordPress admin sidebar to see your list of feeds. Each feed has its own URL with a unique key; click the <strong>Copy<\/strong> button next to a feed to copy its URL. Click a feed's name to open its settings.<\/p>\n\n<p>(Note: The Copy button requires HTTPS.)<\/p><\/dd>\n<dt id=\"do%20i%20need%20to%20click%20save%20after%20changing%20a%20setting%3F\"><h3>Do I need to click Save after changing a setting?<\/h3><\/dt>\n<dd><p>No. The settings page has no Save button. Every control -- the feed toggle, post statuses, field mapping, and image resolution -- is saved automatically the moment you change it. You can navigate away as soon as you see the change take effect. Creating, duplicating, and deleting feeds works the same way -- changes take effect immediately with no Save step.<\/p><\/dd>\n<dt id=\"can%20i%20choose%20which%20posts%20appear%20in%20the%20feed%3F\"><h3>Can I choose which posts appear in the feed?<\/h3><\/dt>\n<dd><p>Yes. Open a feed from the <strong>Plucky Works<\/strong> feeds list. Use the <strong>Post Statuses<\/strong> checkboxes to include or exclude posts by status (published, private, scheduled, draft, or pending review), and use the <strong>Categories<\/strong>, <strong>Tags<\/strong>, and <strong>Authors<\/strong> filters to limit the feed to matching posts. Filters combine: a post must match at least one selection in every include filter you set, and must not match any selection in the <strong>Exclude Categories<\/strong>, <strong>Exclude Tags<\/strong>, or <strong>Exclude Authors<\/strong> filters. A filter with nothing selected imposes no restriction.<\/p><\/dd>\n<dt id=\"can%20i%20exclude%20posts%20from%20the%20feed%3F\"><h3>Can I exclude posts from the feed?<\/h3><\/dt>\n<dd><p>Yes. Each feed has <strong>Exclude Categories<\/strong>, <strong>Exclude Tags<\/strong>, and <strong>Exclude Authors<\/strong> filters. A post matching any exclusion is left out of the feed, even when it matches every other filter.<\/p>\n\n<p>This is useful for keeping republished content out of the feed you share back to your network. If your site files stories republished from partner outlets under an outlet-named author account, add those accounts to <strong>Exclude Authors<\/strong>. If you mark republished stories with a category or tag instead, exclude that category or tag.<\/p><\/dd>\n<dt id=\"what%20is%20the%20key%20in%20my%20feed%20url%2C%20and%20what%20does%20regenerate%20key%20do%3F\"><h3>What is the key in my feed URL, and what does Regenerate Key do?<\/h3><\/dt>\n<dd><p>Each feed URL contains a unique key that grants access to that feed -- treat it like a password, especially for feeds that include drafts or private posts. If a URL leaks (for example, it was shared with a former partner), open the feed and click <strong>Regenerate Key<\/strong>. The old URL stops working immediately and you must give current partners the new URL. Your original pre-1.3 feed also works at its old address without a key, so existing partners keep receiving content after upgrading.<\/p><\/dd>\n<dt id=\"how%20do%20i%20customize%20which%20fields%20are%20sent%3F\"><h3>How do I customize which fields are sent?<\/h3><\/dt>\n<dd><p>The <strong>Field Mapping<\/strong> section on the settings page lets you use dropdowns to choose which WordPress field provides data for each RSS element. For example, you can map \"Author Display Name\" or \"Author First+Last Name\" to the byline field, or choose between manual and auto-generated excerpts for the description.<\/p><\/dd>\n<dt id=\"can%20i%20exclude%20photos%20from%20the%20feed%3F\"><h3>Can I exclude photos from the feed?<\/h3><\/dt>\n<dd><p>Yes. Open the feed's settings and uncheck <strong>Include Images in Feed<\/strong> under <strong>Images<\/strong>. When disabled, no imagery is included in the feed: photographs are left out of the feed's media entries and removed from the story body. Audio and video are not affected. The option is on by default, so existing feeds keep sending images until you turn it off.<\/p><\/dd>\n<dt id=\"can%20i%20send%20full-resolution%20images%20to%20print%20partners%3F\"><h3>Can I send full-resolution images to print partners?<\/h3><\/dt>\n<dd><p>Yes. Enable <strong>Images &gt; \"Send original-resolution images (when available)\"<\/strong> on the settings page. WordPress automatically creates a smaller web-optimized copy of any image wider than 2560px; with this setting on, the feed sends the original you uploaded instead, so print partners get print-ready files. Feed payloads may grow significantly because originals are not optimized for the web.<\/p>\n\n<p>Known limitation: if your site offloads media to external storage (Amazon S3, DigitalOcean Spaces, etc.) or uses an optimization plugin set to delete the original, the original file is not available locally. In that case the feed silently falls back to the web-optimized copy for that image. You can verify what the feed sends by opening your feed URL in a browser and inspecting the image URLs in the  tags.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>No functional changes. Tested against WordPress 7.1 and declares compatibility with it.<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Add an Include Images in Feed setting to each feed, grouped with the image resolution setting under Images. It is on by default; when disabled, no imagery is included in the feed: photographs are left out of the feed's media entries and removed from the story body, while audio and video are unaffected. The post preview on the feed's settings page reflects the setting, so you can verify a text-only feed before sharing it. Useful when a partner should receive text-only stories, for example when your photo rights do not extend to republication.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Add Exclude Categories, Exclude Tags, and Exclude Authors filters to each feed. A post matching any exclusion is left out even when it matches every other filter, so you can keep republished content out of the feed (for example, by excluding the author accounts your site uses for stories republished from partner outlets). Existing feeds are unchanged: exclusion filters start empty and exclude nothing. Link to Plucky Wire documentation for RSS Feeds also added.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>No functional changes. The 1.3.0 tag was published from a commit that predated the multiple-feeds work, so it carried 1.2.0 code; this release ships the intended 1.3.0 feature set under a clean tag.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Add support for multiple feeds. Each feed has its own keyed URL, enable toggle, post-status filter, category\/tag\/author filters, image resolution setting, and field mapping. Your existing feed keeps working at its current URL with its current settings; no action is required.<\/li>\n<li>Add category, tag, and author filters so a feed can carry only the posts a specific partner should receive.<\/li>\n<li>Fix photos arriving twice in Plucky Wire when a CDN (such as Jetpack's Photon) rewrites in-body image URLs: an image already sent as feed media is now removed from the story body instead of being imported as a second attachment.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Add an Image Resolution setting. When enabled, the feed sends the full-resolution original image you uploaded instead of WordPress's web-optimized copy, so print-publication partners receive print-ready files. Off by default; existing feeds are unchanged until you opt in.<\/li>\n<li>When the original image is not available locally (for example, media offloaded to external storage), the feed falls back to the web-optimized copy for that image instead of failing.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Confirm compatibility with WordPress 7.0.<\/li>\n<li>No functional changes; first release published under a proper SVN tag so WordPress.org can support rollbacks.<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>Hard-code the RSS GUID to a stable Post ID URL (e.g. \/?p=123) so feed consumers can dedupe items when a scheduled post publishes and its slug-based permalink takes effect. The GUID is no longer user-configurable in the Field Mapping UI.<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Connect your WordPress site to Plucky Works.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/286684","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=286684"}],"author":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/pluckyworks"}],"wp:attachment":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=286684"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=286684"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=286684"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=286684"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=286684"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=286684"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}