{"version":"1.0","provider_name":"Rebecca Rumble","provider_url":"https:\/\/www.dgmyspace.dumgal.ac.uk\/eportfolio\/rumbler","author_name":"Rebecca Rumble","author_url":"https:\/\/www.dgmyspace.dumgal.ac.uk\/eportfolio\/rumbler\/author\/rumbler\/","title":"WP wp.media js - Add a File - Rebecca Rumble","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"o8tWtemTnW\"><a href=\"https:\/\/www.dgmyspace.dumgal.ac.uk\/eportfolio\/rumbler\/2020\/02\/04\/wordpress-wp-media-js\/\">WP wp.media js &#8211; Add a File<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/www.dgmyspace.dumgal.ac.uk\/eportfolio\/rumbler\/2020\/02\/04\/wordpress-wp-media-js\/embed\/#?secret=o8tWtemTnW\" width=\"600\" height=\"338\" title=\"&#8220;WP wp.media js &#8211; Add a File&#8221; &#8212; Rebecca Rumble\" data-secret=\"o8tWtemTnW\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/\/# sourceURL=https:\/\/www.dgmyspace.dumgal.ac.uk\/eportfolio\/rumbler\/wp-includes\/js\/wp-embed.min.js\n\/* ]]> *\/\n<\/script>\n","description":"A work in progress blog post for information I&#8217;ve discovered so far about hooking into the WordPress Media Library model windows. The javascript api in WordPress allows you to create custom upload fields and drag and drop zones in plugin and admin pages. I&#8217;ve included some of my working code below &#8211; it is a work in progress currently. Table of Contents Adding a File Upload Field Example Code Custom Media Upload Script Prevent Multiple Instances Handling a selected File... Read More Read More","thumbnail_url":"https:\/\/www.dgmyspace.dumgal.ac.uk\/eportfolio\/rumbler\/wp-content\/uploads\/sites\/1694\/2020\/02\/Screenshot-2020-02-04-at-16.05.10-1024x466.png"}