Which is part of why everything a Theme adds to the namespace must be uniquely prefixed, ideally using theme-slug.<br><br><div class="gmail_quote">On Sat, Oct 27, 2012 at 4:33 PM, Shinra Web Holdings <span dir="ltr"><<a href="mailto:shinrawebholdings@gmail.com" target="_blank">shinrawebholdings@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p>Not specifically, but a namespace collision with a plugin could potentially do some really weird things.</p><div class="HOEnZb">
<div class="h5">
<div class="gmail_quote">On Oct 27, 2012 3:01 PM, "Kirk Wight" <<a href="mailto:kwight@kwight.ca" target="_blank">kwight@kwight.ca</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Pluggable functions are pretty cool (particularly when you haven't got your head around hooks yet), because you can change anything very easily. The downside being, of course, you can change entire functions very easily.<div>
<br></div><div>I believe Core in general has backed away from pluggable functions in favour of hooks (Core's only pluggable functions are now deprecated), making me feel like we should encourage the same.</div><div><br>
</div><div>Does anyone know of any trouble that can come from having everything in functions.php pluggable, including functions on hooks?<br><br><div class="gmail_quote">On 27 October 2012 15:51, Chip Bennett <span dir="ltr"><<a href="mailto:chip@chipbennett.net" target="_blank">chip@chipbennett.net</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">And by contrast, making custom function return/output values filterable is as good or better, depending on the circumstances. Depending on the amount/complexity of that output/returned content, I would consider using custom filters to be better practice than using pluggable functions.<div>
<br></div><div>Of course, that's why it is good to make *reocmmendations* in Theme reviews at this point, rather than making *requirements* or "not-approving" Themes, based on pluggable-vs-filterable functions.</div>
<span><font color="#888888">
<div><br></div></font></span><div><span><font color="#888888">Chip</font></span><div><div><br><br><div class="gmail_quote">On Sat, Oct 27, 2012 at 2:46 PM, Philip M. Hofer (Frumph) <span dir="ltr"><<a href="mailto:philip@frumph.net" target="_blank">philip@frumph.net</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div dir="ltr">
<div style="font-size:12pt;font-family:'Calibri'">
<div>Most functions being pluggable, i.e. function_exists (if that’s what you’re
referring to) is actually a good idea.</div>
<div> </div>
<div>This allows those functions to be re-written if necessary in the
functions.php of the child theme.</div>
<div> </div>
<div>I would consider this best practice.</div>
<div> </div>
<div> </div>
<div style="font-size:small;font-style:normal;text-decoration:none;font-family:'Calibri';display:inline;font-weight:normal">
<div style="FONT:10pt tahoma">
<div> </div>
<div style="BACKGROUND:#f5f5f5">
<div><b>From:</b> <a title="chip@chipbennett.net" href="mailto:chip@chipbennett.net" target="_blank">Chip Bennett</a> </div>
<div><b>Sent:</b> Saturday, October 27, 2012 12:22 PM</div>
<div><b>To:</b> <a title="theme-reviewers@lists.wordpress.org" href="mailto:theme-reviewers@lists.wordpress.org" target="_blank">theme-reviewers@lists.wordpress.org</a>
</div>
<div><b>Subject:</b> Re: [theme-reviewers] pluggable functions</div></div></div>
<div> </div></div>
<div style="font-size:small;font-style:normal;text-decoration:none;font-family:'Calibri';display:inline;font-weight:normal"><div><div>Absent
pre-existing guidelines, I would list your findings as *recommended* only. It is
always good to promote and to educate regarding best practices, but we should
only ever *not-approve* (even if "required fix in next revision") those criteria
that are stated in the guidelines.
<div> </div>
<div>(That said: feel free to propose guidelines revisions wrt pluggable vs.
filterable functions!)</div>
<div> </div>
<div>Thanks,</div>
<div> </div>
<div>Chip<br><br>
<div class="gmail_quote">On Sat, Oct 27, 2012 at 2:17 PM, Kirk Wight <span dir="ltr"><<a href="mailto:kwight@kwight.ca" target="_blank">kwight@kwight.ca</a>></span> wrote:<br>
<blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote">Howdy,
<div> </div>
<div>I'm reviewing a theme that has made all functions in functions.php
pluggable, including those on hooks. From what I understand, this won't break
anything, but doesn't feel very "best practice"-y (anything on a hook can just
be removed from the hook, making the pluggable code un-necessary).</div>
<div> </div>
<div>The theme was already approved, but I prefer to encourage the best
practice; perhaps a "fix in next release" note is appropriate, rather than
blocking
approval?..</div><br>_______________________________________________<br>theme-reviewers
mailing list<br><a href="mailto:theme-reviewers@lists.wordpress.org" target="_blank">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>
<div> </div></div>
</div></div><p>
</p><hr><div>
_______________________________________________<br>theme-reviewers mailing
list<br><a href="mailto:theme-reviewers@lists.wordpress.org" target="_blank">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>
</div><p></p></div></div></div></div>
<br>_______________________________________________<br>
theme-reviewers mailing list<br>
<a href="mailto:theme-reviewers@lists.wordpress.org" target="_blank">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></div></div>
<br>_______________________________________________<br>
theme-reviewers mailing list<br>
<a href="mailto:theme-reviewers@lists.wordpress.org" target="_blank">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>
<br>_______________________________________________<br>
theme-reviewers mailing list<br>
<a href="mailto:theme-reviewers@lists.wordpress.org" target="_blank">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>
</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>