atshift Feed Builder

atshift Feed Builder

By @shift
Details
View on WordPress

atshift Feed Builder creates purpose-specific public feeds from structured information stored in WordPress.

The first release includes:

  • Multiple feed configurations.
  • Separate creation flows for replacing a WordPress standard RSS feed or adding a custom RSS 2.0 or JSON Feed 1.1 feed.
  • Public post type selection.
  • Author, public taxonomy term, and allow-listed custom field filters.
  • Format-specific mapping of standard output fields.
  • WordPress, fixed text, atshift Fields, post-author UPF, explicitly selected post_meta, and optional Pods API value sources.
  • Optional field-name integrations for ACF / Secure Custom Fields, Meta Box, and Carbon Fields.
  • A public source-adapter API for additional plugin integrations.
  • Independent publisher, article-author, primary-source, and reviewer mappings.
  • Main image fallback mapping when the primary image source is empty.
  • A reader-first preview of the first real item in the current feed order, with matching XML or JSON source in a secondary tab.
  • Personal-information warnings and hard exclusion of authentication and permission data.
  • Stable item IDs, ETag, Last-Modified, and response caching.
  • Existing WordPress feed URLs remain unchanged when their RSS output is replaced.
  • Per-feed controls for replacing or disabling standard feeds and advertising custom feeds in the document head.

atshift Fields and atshift User Profile Fields are optional integrations. atshift Feed Builder remains independently usable for standard WordPress post data.

GitHub and WordPress.org release packages include the same bundled translations for 15 locales: English (US), Japanese, Spanish (Spain), German, French, Portuguese (Brazil), Italian, Russian, Dutch, Chinese (Simplified), Polish, Turkish, Indonesian, Chinese (Traditional, Taiwan), and Korean.

Developer integration

Plugins can add selectable mapping sources with the atshift_feed_builder_source_adapters filter. Register the filter on plugins_loaded before priority 20 and provide an object that implements Atshift_Feed_Builder_Source_Adapter.

add_action(
    'plugins_loaded',
    static function () {
        if ( ! interface_exists( 'Atshift_Feed_Builder_Source_Adapter' ) ) {
            return;
        }

        add_filter(
            'atshift_feed_builder_source_adapters',
            static function ( $adapters ) {
                $adapters['example'] = new class implements Atshift_Feed_Builder_Source_Adapter {
                    public function get_id() {
                        return 'example';
                    }

                    public function get_label() {
                        return 'Example fields';
                    }

                    public function is_available() {
                        return true;
                    }

                    public function get_fields() {
                        return array(
                            'rating' => array(
                                'id'        => 'rating',
                                'label'     => 'Rating',
                                'type'      => 'number',
                                'sensitive' => false,
                            ),
                        );
                    }

                    public function get_values( $post, $field_ids ) {
                        $values = array();
                        if ( in_array( 'rating', $field_ids, true ) ) {
                            $values['rating'] = get_post_meta( $post->ID, '_example_rating', true );
                        }
                        return $values;
                    }
                };
                return $adapters;
            }
        );
    },
    10
);

Field definitions may use string, url, image, html, number, boolean, datetime, or list. Set sensitive to true to display a personal-information warning in the editor. For integrations where administrators enter a field key manually, implement Atshift_Feed_Builder_Manual_Source_Adapter as well.

Adapters must expose only values intended for public feeds and must validate manually entered keys. Authentication, session, token, capability, password, and other protected values must never be returned.

See the adapter contract and bundled adapter examples for the complete API.

Links

Privacy

atshift Feed Builder does not send site data to the plugin author or any external service. It does not include analytics, telemetry, advertising, or remote executable code.

Feeds created with this plugin are public URLs. Only explicitly mapped values are output, and protected authentication, session, token, and capability keys are blocked. Site administrators are responsible for reviewing mappings before publication, especially fields that may contain personal information.

Related Projects

  • atshift User Profile Fields – create and manage structured custom fields for WordPress users.
  • at-shift Fields – arrange custom fields for posts and public custom post types with a field-building interface.
  • atshift Freeform Login – add passkey login, customize the WordPress login screen, and place login controls with shortcodes.

Details

Plugin code:
atshift-feed-builder
Plugin version:
1.0
Author:
Outdated:
No
WP version:
6.4 or higher
PHP version:
7.4 or higher
Test up to WP version:
7.1
Total installations:
0
Last updated:
2026-08-24
Rating:
Times rated:
0
ai
custom-fields
json-feed
rss
structured-data