<div dir="ltr">I think Themes should properly enqueue their own scripts on their own settings pages, and not otherwise mess with other scripts enqueued by core or other Plugins.<div><br></div><div>If you find conflicting/offending Plugins, post to those Plugins' review/support forums, and if necessary, report them to plugins@. Plugins that misbehave by outputting scripts in inappropriate places in the WP-Admin probably shouldn't be hosted in the WPORG Plugin directory, and I'm sure the Plugins team will want to be aware of them.</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Feb 17, 2014 at 1:33 PM, ethan anwar <span dir="ltr"><<a href="mailto:ethananwar@yahoo.com" target="_blank">ethananwar@yahoo.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-size:12pt;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif"><div>
<span>Hello again!</span></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif"><br><span></span></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif">
<span>Every now and then I get reports from users that certain elements on my theme's settings page don't work. Sometimes it's jQuery altogether so they can't edit anything, other times it's farbtastic and so on.</span></div>
<div style="font-style:normal;font-size:16px;background-color:transparent;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif"><br><span></span></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif">
<span>For my themes I do the script loading carefully via the admin_print_scripts-{page-hook} so they're only loaded on the settings page. Apparently many plugins (available in extend even) don't do this. So a lot of JS is loaded (even re-loaded) on the theme's settings page which sometimes causes incompatibilities and cripples my theme's setting page functionality.</span></div>
<div style="font-style:normal;font-size:16px;background-color:transparent;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif"><br><span></span></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif">
<span>Now of course users don't care for the reason behind this and a lot of time is wasted on debugging, finding the 'faulty' plugins, giving explanations and so on. Not to mention some pretty bad reviews for the theme on <a href="http://wordpress.org" target="_blank">wordpress.org</a>. And there are so many plugins out there that this will always be a problem unless I do something about it.</span></div>
<div style="font-style:normal;font-size:16px;background-color:transparent;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif"><br><span></span></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif">
<span>So to keep it short (too late for that?) I found this workaround: I reset all scripts via WP_Scripts then load the ones WordPress needs
 and then the one the theme needs. Again, all this would only happen on the theme settings page. Here's how it would look:</span></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif">
<br><span></span></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif"><span>function parabola_admin_scripts() {</span><br>
<span>// clean up all scripts that may interfere with the theme</span></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif">
<span>global $wp_scripts;<br>$wp_scripts = new WP_Scripts; </span></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif">
<span><br></span></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif"><span>// restore wp basic scripts<br>wp_enqueue_script('jquery');<br>
wp_enqueue_script('common');<br>wp_enqueue_script('admin-bar');<br>wp_enqueue_script('utils');<br>wp_enqueue_script('wp-auth-check');<br>wp_enqueue_script('wp-pointer');</span></div>
<div style="font-style:normal;font-size:16px;background-color:transparent;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif"><span><br></span></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif">
<span>// the rest of theme-specific scripts...</span></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif"><span>}</span></div>
<div style="font-style:normal;font-size:16px;background-color:transparent;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif"><br><span></span></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif">
<span>add_action('admin_print_scripts-'.$page, 'parabola_admin_scripts');</span></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif">
<br><span></span></div>My question, since I want to implement this in all my themes, is: is this acceptable? Would it be a problem to 'reset' the default WP scripts on the theme settings page?<br><br>Thanks a lot,<br>
Kay<br><div style="display:block"><div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:12pt"><div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:12pt">
  </div> </div>  </div> </div></div><br>_______________________________________________<br>
theme-reviewers mailing list<br>
<a href="mailto:theme-reviewers@lists.wordpress.org">theme-reviewers@lists.wordpress.org</a><br>
<a href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" target="_blank">http://lists.wordpress.org/mailman/listinfo/theme-reviewers</a><br>
<br></blockquote></div><br></div>