
The All Videos library with sortable columns for plays, likes, posts, and pages, plus bulk actions, filtering, and search.
Coywolf Video Manager turns the WordPress admin into a control panel for your Cloudflare Stream account. Connect it with a Cloudflare API token and you can browse, search, edit, and upload videos, then embed them anywhere with a block — no trips to the Cloudflare dashboard.
Features:
Settings are locked until you connect a Cloudflare account. You need your Account ID (in the Cloudflare dashboard sidebar) and an API token created at My Profile > API Tokens with the “Account > Stream > Edit” permission. Paste both into Videos > Settings and click Test connection. The token is stored server-side and never exposed to the browser. For better security you can instead define COYWOLF_CVM_API_TOKEN and COYWOLF_CVM_ACCOUNT_ID in wp-config.php (or set matching environment variables) to keep the credentials out of the database. A value saved in Settings takes precedence over the constant; leave the field empty (or use Remove on the token) to fall back to the wp-config.php value.
Privacy-first: this plugin includes no analytics, no tracking, and no data gathering — nothing about you, your site, or your visitors is ever collected. Its only outside connection is the service it exists to manage. The plugin connects WordPress to Cloudflare Stream on your behalf. The WordPress server calls the Cloudflare API (api.cloudflare.com) using your API token to list, edit, and manage videos, to upload video files you choose (from the Upload Video screen or the block), and — when you add a video by URL — to have Cloudflare fetch that URL. On the front end, the Cloudflare Stream player SDK loads from embed.cloudflarestream.com and video streams from cloudflarestream.com / videodelivery.net. See Cloudflare’s terms of service at https://www.cloudflare.com/website-terms/ and privacy policy at https://www.cloudflare.com/privacypolicy/.
Style the on-post UI from Videos > Settings > Appearance (with a live preview and a hex color picker), or override it in your theme’s CSS — or both. The block exposes CSS custom properties on the .coywolf-cvm wrapper: –cvm-title-color (default inherit), –cvm-title-size (1rem; name & description), –cvm-title-weight (700; name), –cvm-desc-weight (400; description), –cvm-align (left; aligns the name & description), –cvm-meta-align (left; aligns the like/views/date row), –cvm-like-color (#0f0f0f; icon/text unclicked, also used on hover), –cvm-like-bg (#f2f2f2; background unclicked/hover, empty in Settings = none), –cvm-like-active (icon/text clicked), –cvm-like-active-bg (background clicked), –cvm-meta-color (#606060), –cvm-meta-size (0.9rem), –cvm-radius (0; player corner radius). Example: .coywolf-cvm { –cvm-like-bg:#000; –cvm-like-color:#fff; } Useful classes: .coywolf-cvm, .coywolf-cvm-title, .coywolf-cvm-like, .coywolf-cvm-thumb, .coywolf-cvm-views, .coywolf-cvm-date. An optional light/dark scheme adds .coywolf-cvm-scheme-dark or .coywolf-cvm-scheme-auto. The plugin’s CSS avoids !important so your theme can override it.