
The dashboard: feed stats, API and system health, and a getting-started checklist.
Ohara turns a YouTube channel into a clean, fast, responsive feed you can drop anywhere on your WordPress site — with a real feed builder instead of a wall of shortcode attributes.
Create a feed in a guided four-step wizard (Type, Source, Layout, Review), then fine-tune it in a two-pane editor: settings on the left, a live desktop/tablet/mobile preview on the right with undo and redo. When you are happy with it, copy the shortcode, insert the block, or paste a PHP snippet.
Every feed is server-rendered first, so your videos are visible to search engines and to visitors without JavaScript, and then progressively enhanced into an interactive React app in the browser.
@elementrio) or the exact way by its UC… channel ID. Fully functional with nothing to unlock.[ohara_feed id="123"] shortcode, the Ohara YouTube Feed block, or a do_shortcode() PHP snippet for themes.ohara-feed-builder-for-youtube text domain.Take your YouTube feeds to the next level with the Ohara Pro add-on. It unlocks powerful new content sources, layouts, and engagement tools while staying fully integrated with the feed builder you already know.
The Pro add-on offers:
Unlock the full power of Ohara and upgrade to Pro today: https://wpshark.xyz/ohara/
Ohara ships a namespaced REST API under ohara/v1 and a set of filters for extending the feed types and layouts it supports:
ohara_allowed_layouts — extend the layout list beyond grid, list, and masonry.ohara_feed_layout_renderers — register a PHP renderer for a custom layout.ohara_feed_types — add a feed-type slug beyond the built-in channel.ohara_feed_type_sources — register a video-fetching callable for a custom feed type.ohara_feed_cache_args — supply the cache key for a custom feed type.ohara_sanitize_feed_source — sanitize a custom feed type’s source value.ohara_validate_feed_source — accept or refuse a custom feed type’s source value.ohara_feed_schema — register additional per-feed settings, which then flow through REST, storage, rendering, and the builder UI on their own.ohara_feed_slot_before_feed / ohara_feed_slot_after_feed — render your own markup above or below the feed, in every layout.ohara_settings_tabs — add a screen to Ohara Settings, rendered by a React component you register on window.oharaSettingsPanels.Every list is validated server side, so a filter is the supported way to add your own. ohara_feed_types only ever adds to the built-in type; it cannot remove it.
The YouTube API client exposes request(), remember(), clamp_count(), and normalize_item() so an add-on’s feed type reuses this plugin’s API key, transport, and cache rather than reimplementing them.
Ohara is developed in the open. The full, human-readable source — including the uncompiled React and SASS sources behind the bundles in build/, and the build scripts used to produce them — lives at:
https://github.com/wp-shark/ohara-feed-builder-for-youtube
Bug reports, feature requests, and pull requests are welcome there. To build the plugin from a checkout, run composer install && npm install && npm run build in the plugin directory.
This plugin connects to the YouTube Data API v3, a Google service, to fetch the videos and channel details it displays. This is required — without it the plugin has no video data to render.
Requests are sent to https://www.googleapis.com/youtube/v3/ (the channels and search endpoints) when a feed is rendered on the front end, when you build or preview a feed in the admin, and when you validate your API key in Settings.
Each request sends only the data needed to identify what to fetch: your YouTube Data API key, the channel the feed points at (its channel ID, or the handle that Ohara looks up once and then remembers), and result parameters such as the maximum number of items and the sort order. No visitor personal data, IP addresses, or site content are sent. Responses are cached in your own database so the same request is not repeated on every page load.
This service is provided by Google. By using the plugin you also agree to Google’s terms:
Embedded video playback is served by YouTube itself and is subject to the same terms.