[theme-reviewers] Question about ob_start and ob_get_clean (Vicky Arulsingam)

Justin Tadlock justin at justintadlock.com
Thu Jun 30 21:20:56 UTC 2011


That's not really theme territory though.  If you wanted to do something 
that fixed other plugins' issues with inappropriately loading 
scripts/styles, you should create a plugin to do that.

Or, if you know of a plugin doing things the wrong way, send a polite 
note or patch to the plugin author.

On 6/29/2011 4:13 PM, Gmail wrote:
> So...a better approach would be what? Rewrite all plugins that don't 
> follow best practices?
>
> That still wouldn't address issues like client-side load order (e.g. 
> to optimize page load times).
>
> A real example where wp_head filtering is useful is in conjunction 
> with the Contact Form 7 plugin. By default, enabling that plugin would 
> insert a CSS file and script into the head of every page. With a 
> custom filter and a conditional statement, I can make sure only the 
> contact form page loads those resources.
>
> In many cases, this can also be achieved "more elegantly" by removing 
> hooked functions, but filtering the output buffer (i.e., working with 
> regex) is much faster/easier than digging through plugins, searching 
> for the custom function code that hooked into wp_head.
>
> -Darren Slatten
>
> On Jun 29, 2011, at 1:44 PM, Chip Bennett <chip at chipbennett.net 
> <mailto:chip at chipbennett.net>> wrote:
>
>> I think you have that approach exactly backwards. Plugins should be 
>> looking after themselves, by hooking properly into appropriate hooks. 
>> Theme and Plugins should mostly stay out of one another's way.
>>
>> If Theme and Plugins all enqueue jQuery properly, then there will 
>> *never* be duplicate jQuery scripts enqueued.
>>
>> Chip
>>
>> On Wed, Jun 29, 2011 at 11:45 AM, Gmail <darrenslatten at gmail.com 
>> <mailto:darrenslatten at gmail.com>> wrote:
>>
>>     I use output buffering on wp_head() and wp_footer(), in order to
>>     give my theme complete control over them. Since most plugins hook
>>     onto these, they can become cluttered with scripts and CSS file
>>     links. By using OB and a custom filter, I can do things like (1)
>>     remove duplicate jQuery scripts, and (2) optimize the order that
>>     CSS and scripts are loaded in. Essentially this gives my theme
>>     the final say in what resources are loaded into the page,
>>     allowing me to "clean up after" plugins.
>>
>>     -Darren Slatten
>>
>>     On Jun 29, 2011, at 10:12 AM, Vicky Arulsingam
>>     <vicky.arulsingam at gmail.com <mailto:vicky.arulsingam at gmail.com>>
>>     wrote:
>>
>>     > I've asked the theme author to explain the usage. If there's a
>>     valid
>>     > use for it then it should be allowed but I haven't a clue how.
>>     >
>>     > On 6/29/11, Ryan Hellyer <ryan at pixopoint.com
>>     <mailto:ryan at pixopoint.com>> wrote:
>>     >> There are many reasons to use output buffering (ob_start etc), but
>>     >> they would rarely be used within a theme. I've seen themes
>>     which use
>>     >> buffering as a way to dynamically minify the markup, but that's a
>>     >> horrid way to do it - much better incorporated within a
>>     caching plugin
>>     >> IMO.
>>     >>
>>     >> There may be a practical use for output buffer in a theme, but I'm
>>     >> darned if I can think of a good example. I wouldn't want to see it
>>     >> banned outright, as someone may come up with a cunning use for
>>     it that
>>     >> none of us have thought of.
>>     >>
>>     >> Perhaps the theme check plugin could check for output buffering
>>     >> functions and leave a request for the theme developer to provide a
>>     >> reason for using it? That way they'll know it's non-standard and
>>     >> provide a reason (good or bad) for the theme reviewers to
>>     read. Could
>>     >> potentially save a little to and fro'ing in the future. Just
>>     an idea.
>>     >> _______________________________________________
>>     >> theme-reviewers mailing list
>>     >> theme-reviewers at lists.wordpress.org
>>     <mailto:theme-reviewers at lists.wordpress.org>
>>     >> http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>>     >>
>>     >
>>     >
>>     > --
>>     > -----
>>     > Vicky Arulsingam
>>     > _______________________________________________
>>     > theme-reviewers mailing list
>>     > theme-reviewers at lists.wordpress.org
>>     <mailto:theme-reviewers at lists.wordpress.org>
>>     > http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>>     _______________________________________________
>>     theme-reviewers mailing list
>>     theme-reviewers at lists.wordpress.org
>>     <mailto:theme-reviewers at lists.wordpress.org>
>>     http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>>
>>
>> _______________________________________________
>> theme-reviewers mailing list
>> theme-reviewers at lists.wordpress.org 
>> <mailto:theme-reviewers at lists.wordpress.org>
>> http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>
>
> _______________________________________________
> theme-reviewers mailing list
> theme-reviewers at lists.wordpress.org
> http://lists.wordpress.org/mailman/listinfo/theme-reviewers
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.wordpress.org/pipermail/theme-reviewers/attachments/20110630/a7d95310/attachment-0001.htm>


More information about the theme-reviewers mailing list