| 开发者 | kristoffbertram |
|---|---|
| 更新时间 | 2026年9月17日 18:57 |
| PHP版本: | 8.2 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
freshet_feeds( 'my-feed' ) returns normalized item objects; freshet_feeds_render( 'my-feed' ) runs the full template chain.item.php into {your-theme}/freshet-feeds/ and edit. An item hierarchy (item-{feed-slug}.php → item-{provider}.php → item.php) gives per-feed and per-type markup with clean fallbacks.layout-carousel.php in your theme, pass carousel — no registration.production.freshet_feeds_render( 'your-feed-slug' ) in your theme.Yes — that is what the Mock (fixture data) provider is for. Create a feed with it and you get a bundled set of realistic sample posts (single image, multi-image, shared article, text-only, an image-only post with no text, and a long multi-paragraph one) without any credentials or network call. It is also the fastest way to evaluate the plugin.
Mock posts run through exactly the same normalizer, item model and template chain as live posts, so everything you build against them works unchanged on real data — you switch the feed's provider and nothing else.
The provider is hidden in the provider dropdown on sites reporting a production environment type, and refuses to fetch there even for a feed created earlier, so fixture posts cannot end up on a live site.
X has no free read API and no RSS. We don't build on scraping. If that changes, we'll add it.
Copy any template from the plugin's templates/ folder into {your-theme}/freshet-feeds/ and edit it. See the template docs.
No. Feeds are fetched in the background and served from a local cache; pages never wait on a remote API (except the one-time first fetch of a newly created feed). Images are served from your own uploads directory.
Go to Feeds → Add feed, pick the RSS / Atom provider and paste the feed URL. Then add the Feed block to the page — or to a block widget area such as a sidebar or footer — and pick the feed, a layout and an item count. In a theme template, freshet_feeds_render( 'your-feed-slug' ) does the same. The items are rendered as HTML in your page from the plugin's templates or your theme's overrides; there is no iframe and no script from the source site.
Yes. The YouTube provider reads the public channel feed, so there is no API key and no quota; you enter the channel ID. The default item template shows each video as a thumbnail card that links to YouTube rather than embedding an iframe player, which keeps the page fast and keeps YouTube's scripts off it until the visitor clicks. If you want an inline player, copy item-youtube.php into your theme and change the markup.
Bluesky profiles are a provider of their own: enter the handle and the plugin reads the public API — no authentication. Reposts, replies and pins are left out, and embedded images keep their alt text. Mastodon has no dedicated provider because it does not need one: every Mastodon account exposes an RSS feed at https://instance/@user.rss, so use the RSS / Atom provider with that URL. The same goes for subreddits (append /.rss) and podcast feeds. Either way the posts render through your templates as a social media feed in your own markup, without the platform's embed script.
Domain Path header and the manual text-domain load; wordpress.org language packs load on their own.wp freshet-feeds fetch, wp freshet-feeds status).