digimix/wp-svg-upload

Adds full SVG media support to WordPress.

Installs: 368

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 2

Forks: 0

Open Issues: 0

Type:wordpress-plugin

v1.0.2 2016-05-27 20:13 UTC

This package is not auto-updated.

Last update: 2024-09-12 19:47:59 UTC


README

Install with Composer composer require digimix/wp-svg-upload

Install manually

  1. Clone or copy the files into your WordPress plugins directory
  2. Activate the plugin from the dashboard or using WP CLI

Once the plugin is activated, you're good to go. Your WordPress media library will support uploading SVG files.

##Logic Breakdown

    1. We need the whole page, but only if we are in the backend (hence admin_init hook)
    1. We would like to grab all output (ob_start within admin_init as nothing should echo before that, we should not interfere with things that do)
    1. We want to grab the content on shutdown, concatenate all output buffers, then filter
    1. Search for placeholders which should exist and replace the text
  • Downsides
    1. Not permanent fix (for perma fix WP core would need to be editable or native filtering added)
    1. A bit resource munchy (it's locked to the admin side, so IMHO who cares)
    1. This is just to get SVG into WP core... Luckily the find replace is that simple in /wp-includes/media-template.php (Patch it Mullweng & Co!)

Changes...

  • Re-factored function declaration and calls to make compatible with lesser PHP versions, despite believing anyone using such versions is dangerous
  • Added param for mime-types to filter_mimes function
  • Moved into a namespace and class to make the whole thing less hack-and-slash
  • Updated to use short-array syntax (Breaking change update your PHP or don't use)
  • Deleted some dead code I never noticed before

Credits