Wenba Cloud Storage

Description

Wenba Cloud Storage connects the WordPress media library to cloud object storage. It helps reduce pressure on the local uploads directory and replaces media URLs in the front end, editor, REST responses, media library views, and post content with cloud storage delivery URLs.

The plugin currently supports Qiniu Kodo and Cloudflare R2. Only one storage provider can be enabled at a time, keeping the setup simple and avoiding primary or backup storage complexity. File types that are not allowed by the media rules remain local and keep using WordPress media URLs, which helps maintain compatibility with themes, page builders, cache plugins, and assets such as CSS, JavaScript, and fonts.

Current features include:

  • A standard WordPress admin menu and settings screen.
  • Qiniu Kodo and Cloudflare R2 provider settings.
  • Basic switches for cloud storage, remote delete sync, deleting media when posts are deleted, keeping local files, forcing HTTPS URLs, and uploading WordPress image sizes.
  • Media rules for allowed file types and rename strategies: unchanged, MD5, MD5 with timestamp, or timestamp with random suffix.
  • Queued upload and queued delete processing to reduce blocking during large media operations.
  • Media URL replacement for front-end output, REST responses, media library data, post content, and the block editor.
  • Qiniu image and video style names, custom style separator, private bucket signing, and original asset protection support.
  • Cloudflare R2 uploads through the S3-compatible API, with public delivery domain support and configuration help links.
  • A built-in lightweight S3 signing client for Cloudflare R2, avoiding the full AWS SDK dependency.
  • Overview, recent activity records, log cleanup, and diagnostic checks.

External services

This plugin connects to external cloud storage services only after an administrator enables cloud storage, selects a provider, and saves that provider’s credentials. The plugin does not contact these services until a connection test, media upload, media deletion, signed URL generation, or cloud URL generation requires it.

The plugin does not load JavaScript, CSS, images, fonts, or other display assets from remote servers. Admin help links open external documentation pages only when clicked by an administrator. Access keys and secret keys entered in the settings are stored in your WordPress database.

Qiniu Kodo

Qiniu Kodo is an object storage service used by this plugin to store and deliver WordPress media files when Qiniu is selected as the active provider.

When Qiniu Kodo is enabled and configured, the plugin sends media file content, generated object keys, file names, MIME types, bucket names, upload tokens, and the configured Qiniu access information needed to upload files, delete remote objects, test the connection, and generate public or private delivery URLs. These requests are sent only when an administrator tests the connection, when an allowed media attachment is uploaded, when a recorded remote object is deleted, or when WordPress needs a cloud media URL.

Service information: https://developer.qiniu.com/kodo
Terms or service level agreement: https://developer.qiniu.com/kodo/5908/SLA
SDK privacy information: https://developer.qiniu.com/kodo/11868/the-sdk-privacy-policy

Cloudflare R2

Cloudflare R2 is an S3-compatible object storage service used by this plugin to store and deliver WordPress media files when Cloudflare R2 is selected as the active provider.

When Cloudflare R2 is enabled and configured, the plugin sends media file content, generated object keys, file names, MIME types, bucket names, the configured Account ID, Access Key ID, request signatures, and the configured public delivery domain needed to upload files, delete remote objects, test the connection, and generate delivery URLs. These requests are sent only when an administrator tests the connection, when an allowed media attachment is uploaded, when a recorded remote object is deleted, or when WordPress needs a cloud media URL.

Service information: https://www.cloudflare.com/products/r2/
Terms of service: https://www.cloudflare.com/website-terms/
Privacy policy: https://www.cloudflare.com/privacypolicy/

Installation

  1. Upload the plugin folder to wp-content/plugins/wenba-cloud-storage/.
  2. Activate Wenba Cloud Storage from the WordPress Plugins screen.
  3. Open the Wenba Cloud Storage menu in the WordPress admin sidebar.
  4. Choose one cloud storage provider and enter the required connection settings.
  5. Click Test Connection to verify that the bucket and delivery domain are available.
  6. Configure media rules for allowed file types and optional renaming.

FAQ

Which cloud storage providers are supported?

The plugin currently supports Qiniu Kodo and Cloudflare R2. Only one provider can be enabled at a time.

What happens to file types that are not allowed?

Files that are not allowed by the media rules are not uploaded to cloud storage and their URLs are not replaced. They continue to use the local WordPress media library URL.

Can remote files be deleted when media is deleted?

Yes. When Sync Remote Delete is enabled, deleting a media attachment queues the recorded remote objects for deletion. When disabled, only the WordPress media record is deleted.

Does the plugin support Qiniu private buckets and media styles?

Yes. Qiniu settings include image style name, video style name, style separator, private bucket signing, and original asset protection options.

Why is a delivery domain required?

After a file is uploaded, the plugin uses the delivery domain to generate media URLs. This is usually a CDN domain, custom domain, or provider-managed public access domain.

Does the plugin include translations?

The plugin code uses WordPress internationalization functions. English translation files are included for the local package, and additional translations can be provided through WordPress.org language packs.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Wenba Cloud Storage” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Wenba Cloud Storage” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

0.1.35

  • Removed an unmaintained object storage provider and changed the S3-compatible client to use the WordPress HTTP API.

0.1.34

  • Improved settings sanitization, documented cloud storage service calls in more detail, and explicitly flushed the theme compatibility output buffer.

0.1.33

  • Removed an unused PHPUnit adapter from bundled dependencies and clarified third-party cloud storage service calls.

0.1.32

  • Pruned development and test files from bundled vendor dependencies for WordPress.org release packaging.

0.1.31

  • Added a Chinese language pack for the plugin header and restored the standard plugin details modal link.

0.1.30

  • Fixed WordPress.org Plugin Check issues by removing local update metadata, using an English plugin header, and rewriting the readme in English.

0.1.29

  • Fixed Plugin Check notices related to admin SQL, read-only request parameters, internationalization loading, and S3 client annotations.

0.1.28

  • Added multipart uploads for large Cloudflare R2 files, plus batch deletion for remote objects.

0.1.27

  • Replaced the full AWS SDK dependency with a built-in lightweight S3 client to significantly reduce package size.

0.1.26

  • Cleaned up release package leftovers and improved the WordPress.org readme structure and release notes.

0.1.25

  • Added WordPress-standard internationalization support for PHP and admin JavaScript.

0.1.24

  • Improved the plugin details modal information.

0.1.23

  • Prevented theme and third-party admin notices from appearing inside the plugin settings screen.

0.1.22

  • Improved Zibll theme compatibility for thumbnails, cover images, avatars, videos, and final page URLs.

0.1.21

  • Improved the mobile settings layout so important information is easier to reach on small screens.

0.1.18 – 0.1.20

  • Reduced layout clipping and improved mobile readability.

0.1.12 – 0.1.13

  • Improved the plugin icon and provider icons.

0.1.10 – 0.1.11

  • Improved the storage service screen and focused the provider list on commonly used object storage services.

0.1.0

  • Initial usable release with cloud storage settings, media upload handling, URL replacement, and basic diagnostics.