It is not just for child themes that "function_exists" is useful. While it is true that only one theme is active at any point of time, sometimes a theme and a plugin have a common name (I have a plugin called Photonic, which I discovered later shares its name with a commercial theme), and it might so happen that their function names are shared. In such a situation it is safe to use a check for the function definitions.<br>
<br><div class="gmail_quote">On Tue, Oct 30, 2012 at 9:53 AM, Bruce Wampler <span dir="ltr"><<a href="mailto:weavertheme@gmail.com" target="_blank">weavertheme@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I'd like to add a note to this discussion. Using 'function_exists' has been common practice for quite some time, and I always thought its main purpose was for child themes. Making a filter work is really much more difficult. Almost anyone with
even a slight idea of how PHP works can copy the original function to a
child's functions.php, make a few wording, or even simple logic changes,
to the function, and make the child work how they want. While this kind of rote programming may not be best practice, I'm sure
there are thousands of small child themes that use this practice.<br><br>I think there are too many existing child themes dependent on 'function_exists' to ever disallow that, at least for existing themes.<br><br>
Bruce Wampler<br><br>And besides, <br><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div><br><div class="gmail_quote"><div class="im">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>
</div><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 class="im">
<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><a href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" target="_blank">e-reviewers</a><br></div></div></div></blockquote></div></div></div></div></blockquote>
</div></div></blockquote></div></div></div></blockquote></div></div></div>
<br></blockquote><br></div><br>
<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><br clear="all"><br>-- <br>Sayontan Sinha<br><a href="http://mynethome.net" target="_blank">http://mynethome.net</a> | <a href="http://mynethome.net/blog" target="_blank">http://mynethome.net/blog</a><br>
--<br><br><br>