Plugin Directory

Test out the new Plugin Directory and let us know what you think.

SWFPut - SWFlash Put

SWFPut provides video players for posts and pages and widget areas, as both HTML5 and flash video.


  • Fix new mce-view visual editor presentation with WP 4.6.
  • Widget support for WP 4.5 preview 'selective refresh' bug fix: stop play.
  • Change default for aspect ratio auto adjust to false.


  • Add widget support for WP 4.5 preview 'selective refresh'.
  • Confirmed working with WP 4.5.


  • Poster image might have been too small after stop button click; this should be OK now.
  • Confirmed working with WP 4.4.


  • Fix for URLs without scheme (e.g. "//www.example.com/foo/").
  • Editor button: changed to .
  • Cleanup minor JS warnings on web console.
  • Misc. cleanup, source comment edits.


  • Further improve controls for mobile.


  • Make controls work in Chrome/Chromium mobile.

  • Same as 3.0.3 (Seems new WP version no longer handles 4th minor revision number, so 2.1 is now 3).


  • The just released WordPress 4.2.3 security revision includes a change that appeared in WP 4.3beta1. This release of SWFPut adjusts a version check so that the changes of SWFPut 3.0.1 take effect for WordPress 4.2.3.
  • Fixed bug in new visual editor dialog code that caused changes in the caption field to be lost on switching to another tab.


  • Fix new mce-view visual editor presentation with WP 4.3beta1.
  • Fix URL preparation bug in plugin_page_addlink().
  • Misc. code cleanups.
  • New .htaccess file.


  • This release includes an improvement to the responsive sizing of video: the height of a video is now limited to fit within the visible vertical area. Previously, sizing was applied to width alone. This change should be most noticeable on small devices, particularly handheld devices in landscape orientation. This change applies to desktop browsers too, although it will probably not be evident unless the browser window is at a small size.

    This version has small documentation updates regarding the new visual editor interface of release 2.9, and one bugfix needed because of using a new WP function signature changed at some point before 4.x -- this would not have affected users of current WordPress, but SFWPut is still supporting (i.e., working with) WP as old as 3.0.2 (hopefully for no reason, since old versions are probably insecure and should not be used).


  • A new interface for adding and configuring videos in the visual editor. The interface now shares many properties with the WordPress media interface, and uses much of the new and maturing core code. Users will find video setup easier, and familiar. The origonal setup form in a metabox remains available and may be considered an advanced form, as it retains configuration items that will not be added to the new simplified interface. The new interface is only available for WordPress 4.x, and support for 4.0 and 4.1 might be removed in the future (users are advised to keep WordPress up to date).

  • Sigh. Just added a forgotten file (from 2.2.2). The default video (mentioned in the 2.2.2 entry, below) would be missing, because I neglected to 'svn add' it. Simple mistake updating the repository.

    This should not affect any but those who might try using a URL that SWFPut rejects. Upgrade at your convenience.


  • Bug fix release in response to a kind user query. URLs provided for video files are checked before they are used (good), but elsewhere in code an array key would be missing if the URL was rejected (bad), possibly leading to PHP error messages appearing on page.

    Now, if a faulty URL is rejected, a default video URL is used, linking to a small video that says "OOPS [...]" and which should get the site owners attention (site visitors should find the default video inoffensive, even if unexpected).


  • Confirmed working with WP 4.1.


  • Added long overdue alignment options.
  • Added video preload option. Before now, the video element was always given preload="none". Now, the specification values "none", "metadata", and "auto" may be selected, or one special option named (in english) "per initial image", which will use "none" if if an initial image (poster) is set, or else "metadata" so that the browser may display a frame of video as a poster. NOTE: the new default is "per initial image" which will change the behavior of existing videos that do not have an initial image (or 'poster'): they will now have the preload="metadata" attribute, so the browser will make a small unsolicited fetch from the server, and might display a frame. If that is unwanted, the preload option should be set to "none."
  • Some code cleanups and reorganization.
  • Check with WordPress 4.0: OK. (Actually, WordPress 4.0-beta3, and in the unlikely event that a problem arises with the real WP 4.0 release, it will be addressed in a minor revision.)


  • This release is called "Sigh" and its only change is a workaround for a chromium 3.4 bug -- not on the front end, but in the Visual editor plugin. You want details, you say? OK: this plugin's video in the tinymce visual editor is housed in an iframe element. The iframe was given, for principle only, a sandbox attribute (with the "allow-scripts" argument), even thought the content is generated by a plugin script and is a known quantity. This worked in the major browsers including the Chromium 22 and 3.[123] tested with, but Chromium 3.4 would no longer run scripts in the iframe. Persons-of-curiosity may web search 'chromium iframe scripts' and see at a glance that Chromium has dithered on this subject. Bottom line: the sandbox attribute is removed. Apologies for this release so soon after 2.1 a few days ago.


  • Several small bug fixes and improvements.
  • Now, by default HTML5 video will be placed as primary content with flash as fallback (see settings page).
  • Now, if the stop button is clicked the initial poster image, if provided, should reappear.
  • Better handling of unsupported HTML5 video types: if an MP4 was given it will passed to the flash player when necessary.


  • Video will now display in the TinyMCE "Visual" editor. This requires HTML5 compatible video files, and a recent and not-too-buggy browser (Chromium is fine on GNU/Linux, but as on MS it might not run the script in the iframe, but the display is still useful; MSIE has some oddities but overall works). The settings page has a new option to control SWFPut video in the editor: always, only non-mobile, or never. If the video display feature is disabled, the shortcode will simply appear in the editor.
  • Overdue improvement to the video control bar: if the display is too narrow for all buttons, then the non-essential fullscreen and natural-scale buttons are hidden.
  • Miscellaneous small fixes.
  • Checked with new WordPress 3.9.


  • Vacated in quantum leap to ring 2 resulting from increased energy state induced by scale of recent changes.


  • HTML5 video support now equals the original flash video support, and a new HTML5 video player provides an interface with the same design as the flash player, and as much of the same behavior as can be implemented with the HTML5 video specification.
  • A new option (on the settings page) to make HTML5 video be primary content, with flash video as fallback. The default is to place flash video as primary content with HTML5 video as fallback due to the burden HTML5 video puts on users to provide several video file formats, but users who are confident in the use of HTML5 video will find this new option preferable.
  • It is not necessary to specify both flash and and html video resources; either can be left out (i.e., SWFPut is no longer a flash video player first with html video as an afterthought).
  • Incompatible change: a checkbox on the setup form to specify that the medium is audio, not video, has been removed. That feature really had no place in this plugin, and audio-only support in the flash player was bare-bones minimal.
  • Interface: when a mobile browser is detected, the control bar removes the natural-scale and full-scale buttons, which do not make sense on mobile. The simpler control bar is more appropriate and usable.
  • Improved help under the "Help" button the editor and widgets pages.
  • Interface: volume control slider now presents vertically on non-mobile, and horizontally on mobile. It now scales down at small display sizes (previously it was clipped).
  • The original design goal that JavaScript will not be necessary so that your site remains useful to visitors with scripting disabled has been retained, albeit with necessary qualification: the html video player requires JavaScript, but where scripting is not available, the default interface and behavior for the HTML5 video element provided by the browser will be present, so all is not lost.
  • The several .swf binaries for control bar sizes are gone, now a single binary simply scales the control bar (which of course was the original intent and meant to be among the first updates, but time flies like a banana).
  • Directory and file file name changes.
  • Bug fixes, of course.


  • Presentation improvements. Display should be well scaled now, at least for themes that handle scaling; e.g., 'viewport' meta element. This improvement should be particularly appreciable with regard to mobile platforms (on which the display was very poor in previous versions), but desktop/notebook machines benefit too when the window is made small. Video widgets place on sidebar should now be resized to sidebar width regardless of user-set dimensions, but on mobile if secondary content is placed below primary content (i.e. sidebar appears below main area) video object will use available space up up to the dimensions set.
  • The original description through version 1.0.6 stated that "SWFPut does not add any JavaScript." That is no longer the case. Video object size adjustments depend on JavaScript, but on non-mobile platforms the display does not depend on script, and if scripts are disabled the video objects will behave as they have through version 1.0.6. On mobile platforms JavaScript is necessary because on those platforms the plugin now builds the elements by script rather than putting out HTML directly. (It is probably uncommon and impractical for scripting to be disabled in mobile browsers.)
  • There is a new input field on the setup forms, just below the dimensions fields. This is to provide a width to use only if a mobile browser is detected; the height is automatically proportional, according to the regular dimensions. This might be useful for widgets placed on the sidebar, because the sidebar might be placed below, rather than beside, the main content. In this case more space might be available, and larger display might be suitable. This feature is disabled with a value of '0' which is the default. Experiment.


  • Added do-nothing index.php to prevent directory listing, as WP does.
  • Made the "Screen Options" tab -> "Section Introductions" checkbox value persistent, if the "Save Settings" button is clicked.
  • Style tweaks and size tweaks (admin) in response to WP 3.8 changes.
  • Checked with WP 3.8: OK.


  • BUG[unimportant]: tested a defined(FOO) (rather than 'FOO'), but PHP handles that common mistake anyway, and it could only matter in the very exceedingly extremely unlikely case that a .mo translation binary for this plugin's text domain has been installed under the WP's WP_LANG_DIR.
  • Added check for naughty direct invocation.
  • Checked (Oct 25 2013) with just-released WP 3.7: OK.


  • Fixed duplicated message on settings page update resulting from unneeded settings_errors() call: this call did not cause a dup from 3.0.1 to 3.3.1 (but was not needed either), but between WP 3.3.1 and 3.5.? some core guard against the duplicate was removed (or broken?).
  • Updated swf object element and added optional alternative img and video (html5) nested elements. Removed classid from object, except when MSIE is in user agent string. (inspired by suggestion from aileenf).
  • Added help tabs.
  • Some code cleanups.


  • Maintenance.
  • Put i18n final code (__() was already present), added make rules to build *.mo using (added) script in new locale dir, added FPO/test en_US.mo, confirmed working with dummy string replacement.
  • Changed Opt* support classes to use display strings borrowed exactly from WP (3.6) core; these classes are not tied to this plugin and should not use its text-domain. Using core strings, they might still get translated (might get translated when the plugin does not -- that is deemed OK).
  • Added is_admin() check in init code to avoid setting admin-only hooks when not needed (and executing associated code); plus a few more specific current_user_can() checks.
  • Increased maximum "attachment" queried when finding suitable media files to present in posts/pages shortcode form.


  • Corrections in (vaguely distinguished) add_(action|filter) calls, according to tag used, checked against WP source (whether do_action() or apply_filters() is invoked for the tag in question).
  • Changed JS unescape() to decodeURIComponent().
  • Removed compiled README.{tty,tt8} from distribution.
  • Changed 'wptexturize' to 'htmlentities' for paths and things that should not be pretty-pretty'd.
  • Changed 'Tags:' in readme.txt (and stable, etc.).


  • Maintenance.
  • Editing and corrections in readme.txt.
  • Behavior change: without initial image ('poster'), medium is no longer fetched automatically (without visitor play); was a misfeature that would simulate an initial image by pausing at a random point within first few seconds of the video, but the unsolicited download is a bad idea. (Might be an option in future.)


  • Initial release.

Requires: 3.0.2 or higher
Compatible up to: 4.7.2
Last Updated: 3 months ago
Active Installs: 200+


0 out of 5 stars


Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.