=3?{key:e[2],parent:a(e[1],window)}:{key:t,parent:window}}var s=t(“ee”).get(“jsonp”),f=t(“wrap-function”)(s);if(e.exports=s,o()){var u=/[?&](?:callback|cb)=([^&#]+)/,d=/(.*).([^.]+)/,l=/^(w+)(.|$)(.*)$/,p=[“appendChild”,”insertBefore”,”replaceChild”];Node&&Node.prototype&&Node.prototype.appendChild?f.inPlace(Node.prototype,p,”dom-“):(f.inPlace(HTMLElement.prototype,p,”dom-“),f.inPlace(HTMLHeadElement.prototype,p,”dom-“),f.inPlace(HTMLBodyElement.prototype,p,”dom-“)),s.on(“dom-start”,function(t){r(t[0])})}},{}],10:[function(t,e,n){var r=t(“ee”).get(“mutation”),o=t(“wrap-function”)(r),i=NREUM.o.MO;e.exports=r,i&&(window.MutationObserver=function(t){return this instanceof i?new i(o(t,”fn-“)):i.apply(this,arguments)},MutationObserver.prototype=i.prototype)},{}],11:[function(t,e,n){function r(t){var e=i.context(),n=c(t,”executor-“,e,null,!1),r=new f(n);return i.context(r).getCtx=function(){return e},r}var o=t(“wrap-function”),i=t(“ee”).get(“promise”),a=t(“ee”).getOrSetContext,c=o(i),s=t(29),f=NREUM.o.PR;e.exports=i,f&&(window.Promise=r,[“all”,”race”].forEach(function(t){var e=f[t];f[t]=function(n){function r(t){return function(){i.emit(“propagate”,[null,!o],a,!1,!1),o=o||!t}}var o=!1;s(n,function(e,n){Promise.resolve(n).then(r(“all”===t),r(!1))});var a=e.apply(f,arguments),c=f.resolve(a);return c}}),[“resolve”,”reject”].forEach(function(t){var e=f[t];f[t]=function(t){var n=e.apply(f,arguments);return t!==n&&i.emit(“propagate”,[t,!0],n,!1,!1),n}}),f.prototype[“catch”]=function(t){return this.then(null,t)},f.prototype=Object.create(f.prototype,{constructor:{value:r}}),s(Object.getOwnPropertyNames(f),function(t,e){try{r[e]=f[e]}catch(n){}}),o.wrapInPlace(f.prototype,”then”,function(t){return function(){var e=this,n=o.argsToArray.apply(this,arguments),r=a(e);r.promise=e,n[0]=c(n[0],”cb-“,r,null,!1),n[1]=c(n[1],”cb-“,r,null,!1);var s=t.apply(this,n);return r.nextPromise=s,i.emit(“propagate”,[e,!0],s,!1,!1),s}}),i.on(“executor-start”,function(t){t[0]=c(t[0],”resolve-“,this,null,!1),t[1]=c(t[1],”resolve-“,this,null,!1)}),i.on(“executor-err”,function(t,e,n){t[1](n)}),i.on(“cb-end”,function(t,e,n){i.emit(“propagate”,[n,!0],this.nextPromise,!1,!1)}),i.on(“propagate”,function(t,e,n){this.getCtx&&!e||(this.getCtx=function(){if(t instanceof Promise)var e=i.context(t);return e&&e.getCtx?e.getCtx():this})}),r.toString=function(){return””+f})},{}],12:[function(t,e,n){var r=t(“ee”).get(“raf”),o=t(“wrap-function”)(r),i=”equestAnimationFrame”;e.exports=r,o.inPlace(window,[“r”+i,”mozR”+i,”webkitR”+i,”msR”+i],”raf-“),r.on(“raf-start”,function(t){t[0]=o(t[0],”fn-“)})},{}],13:[function(t,e,n){function r(t,e,n){t[0]=a(t[0],”fn-“,null,n)}function o(t,e,n){this.method=n,this.timerDuration=isNaN(t[1])?0:+t[1],t[0]=a(t[0],”fn-“,this,n)}var i=t(“ee”).get(“timer”),a=t(“wrap-function”)(i),c=”setTimeout”,s=”setInterval”,f=”clearTimeout”,u=”-start”,d=”-“;e.exports=i,a.inPlace(window,[c,”setImmediate”],c+d),a.inPlace(window,[s],s+d),a.inPlace(window,[f,”clearImmediate”],f+d),i.on(s+u,r),i.on(c+u,o)},{}],14:[function(t,e,n){function r(t,e){d.inPlace(e,[“onreadystatechange”],”fn-“,c)}function o(){var t=this,e=u.context(t);t.readyState>3&&!e.resolved&&(e.resolved=!0,u.emit(“xhr-resolved”,[],t)),d.inPlace(t,g,”fn-“,c)}function i(t){y.push(t),h&&(b?b.then(a):v?v(a):(E=-E,R.data=E))}function a(){for(var t=0;t
Jon Christopher recently sold SearchWP to Awesome Motive. Learn what motivated Jon to make the sale, and get his view of search in WordPress core.
In this episode of Post Status Excerpt, David Bisset talks with Jon Christopher about his sale of SearchWP to Awesome Motive. The two talk about what motivated Jon — the sole developer (and marketer) of SearchWP — to part with his plugin. David also asks Jon about his view of search as it exists today in WordPress Core, what he might like to see in search going forward, and what his future plans are.
Also covered in this episode: Jon shares some advice for plugin developers who want to monetize their products and plugins, even if those plugins aren’t well-known.
Every week Post Status Excerpt will brief you on important WordPress news — in about 15 minutes or less! Learn what’s new in WordPress in a flash.
Browse our archives, and don’t forget to subscribe via iTunes, Google Podcasts, YouTube, Stitcher, Simplecast, or RSS.
Mentioned in the show:#
Gravity Forms is the easiest and most trusted advanced forms solution for your WordPress website. Packed with time-saving tools and features, Gravity Forms is the only WordPress form management plugin you will ever need. Stop losing valuable leads and grow your business with Gravity.
Related Posts
Grab the Newsletter
Every week, the Post Status team puts together the best news and analysis in the WordPress ecosystem and sends it straight to your inbox.
= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find(‘#gform_wrapper_3’);var is_confirmation = jQuery(this).contents().find(‘#gform_confirmation_wrapper_3’).length > 0;var is_redirect = contents.indexOf(‘gformRedirect(){‘) >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery(‘html’).css(‘margin-top’), 10) + parseInt(jQuery(‘body’).css(‘margin-top’), 10) + 100;if(is_form){jQuery(‘#gform_wrapper_3’).html(form_content.html());if(form_content.hasClass(‘gform_validation_error’)){jQuery(‘#gform_wrapper_3’).addClass(‘gform_validation_error’);} else {jQuery(‘#gform_wrapper_3’).removeClass(‘gform_validation_error’);}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery(‘#gform_wrapper_3’).offset().top – mt); }, 50 );if(window[‘gformInitDatepicker’]) {gformInitDatepicker();}if(window[‘gformInitPriceFields’]) {gformInitPriceFields();}var current_page = jQuery(‘#gform_source_page_number_3’).val();gformInitSpinner( 3, ‘https://cdn.poststatus.com/wp-content/plugins/gravityforms/images/spinner.svg’ );jQuery(document).trigger(‘gform_page_loaded’, [3, current_page]);window[‘gf_submitting_3’] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find(‘.GF_AJAX_POSTBACK’).html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery(‘#gform_wrapper_3’).replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery(‘#gf_3’).offset().top – mt);jQuery(document).trigger(‘gform_confirmation_loaded’, [3]);window[‘gf_submitting_3’] = false;wp.a11y.speak(jQuery(‘#gform_confirmation_message_3’).text());}, 50);}else{jQuery(‘#gform_3’).append(contents);if(window[‘gformRedirect’]) {gformRedirect();}}jQuery(document).trigger(‘gform_post_render’, [3, current_page]);} );} );]]>
Featured WordPress Job Openings
{“cart_token”:””,”hash”:””,”cart_data”:””}
3) { var type = ‘event’; var eventName = ‘timing_complete’; fieldsArray = { event_category : ‘Scroll Depth’, name : action, event_label : label, value : timing, non_interaction: 1 }; MonsterInsightsObject.sendEvent( type, eventName, fieldsArray ); } } function calculateMarks(docHeight) { return { ‘25%’ : parseInt(docHeight * 0.25, 10), ‘50%’ : parseInt(docHeight * 0.50, 10), ‘75%’ : parseInt(docHeight * 0.75, 10), /* Cushion to trigger 100% event in iOS */ ‘100%’: docHeight – 5 }; } function checkMarks(marks, scrollDistance, timing) { /* Check each active mark */ $.each(marks, function(key, val) { if ( $.inArray(key, cache) === -1 && scrollDistance >= val ) { sendEvent(‘Percentage’, key, scrollDistance, timing); cache.push(key); } }); } function rounded(scrollDistance) { /* Returns String */ return (Math.floor(scrollDistance/250) * 250).toString(); } function init() { bindScrollDepth(); } /* * Public Methods */ /* Reset Scroll Depth with the originally initialized options */ $.scrollDepth.reset = function() { cache = []; lastPixelDepth = 0; $window.off(‘scroll.scrollDepth’); bindScrollDepth(); }; /* Add DOM elements to be tracked */ $.scrollDepth.addElements = function(elems) { if (typeof elems == “undefined” || !$.isArray(elems)) { return; } $.merge(options.elements, elems); /* If scroll event has been unbound from window, rebind */ if (!scrollEventBound) { bindScrollDepth(); } }; /* Remove DOM elements currently tracked */ $.scrollDepth.removeElements = function(elems) { if (typeof elems == “undefined” || !$.isArray(elems)) { return; } $.each(elems, function(index, elem) { var inElementsArray = $.inArray(elem, options.elements); var inCacheArray = $.inArray(elem, cache); if (inElementsArray != -1) { options.elements.splice(inElementsArray, 1); } if (inCacheArray != -1) { cache.splice(inCacheArray, 1); } }); }; /* * Throttle function borrowed from: * Underscore.js 1.5.2 * http://underscorejs.org * (c) 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Underscore may be freely distributed under the MIT license. */ function throttle(func, wait) { var context, args, result; var timeout = null; var previous = 0; var later = function() { previous = new Date; timeout = null; result = func.apply(context, args); }; return function() { var now = new Date; if (!previous) previous = now; var remaining = wait – (now – previous); context = this; args = arguments; if (remaining ‘ );( document.contains ) || document.write( ” + ‘ipt>’ );( window.DOMRect ) || document.write( ” + ‘ipt>’ );( window.URL && window.URL.prototype && window.URLSearchParams ) || document.write( ” + ‘ipt>’ );( window.FormData && window.FormData.prototype.keys ) || document.write( ” + ‘ipt>’ );( Element.prototype.matches && Element.prototype.closest ) || document.write( ” + ‘ipt>’ );( ‘objectFit’ in document.documentElement.style ) || document.write( ” + ‘ipt>’ ); ]]>
Source