Thank you for the input Andrew. This is very much along the lines of we are looking for from the core developers.<br><br>Reasoning, explanations, and &quot;wording&quot; for inclusion into the Theme Review and related pages ...<br>
<br>... @Chip, will you have a look at incorporating nacin&#39;s words into the section of the Theme Review page, please.<br><br>Thanks,<br><br><br>Cais.<br><br><div class="gmail_quote">On Sat, Aug 28, 2010 at 5:38 AM, Andrew Nacin <span dir="ltr">&lt;<a href="mailto:wp@andrewnacin.com">wp@andrewnacin.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="im">On Fri, Aug 27, 2010 at 2:45 PM, Chip Bennett <span dir="ltr">&lt;<a href="mailto:chip@chipbennett.net" target="_blank">chip@chipbennett.net</a>&gt;</span> wrote:<br>
</div><div class="gmail_quote"><div class="im"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div class="gmail_quote"><div>On Fri, Aug 27, 2010 at 1:41 PM, Edward Caissie <span dir="ltr">&lt;<a href="mailto:edward.caissie@gmail.com" target="_blank">edward.caissie@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">



I&#39;m not seeing a great deal of difference in their functionality from the codex pages.<br><br>The major differences I am seeing in core are:<br><ul><li>site_url() returns get_option ( &#39;siteurl&#39; ) vs. home_url returns get_option( &#39;home&#39; )</li>




<li>site_url() does additonal $scheme checks</li></ul></blockquote></div></div></blockquote></div><div>Allow me to summarize everything, as well as what was added in 3.0.</div><div><br></div><div>In a nutshell, home_url() is to get_bloginfo(&#39;url&#39;) or get_option(&#39;home&#39;), as site_url() is to get_option(&#39;site_url&#39;) or get_bloginfo(&#39;wpurl&#39;);</div>


<div><br></div><div>The difference between the _url() functions and get_option/get_bloginfo is that the _url() functions handle schemes, specifically, HTTPS versus HTTP. Thus these are extremely important for sites that want to force SSL on the frontend, admin, or login.</div>


<div><br></div><div>The difference between site and home is the following. Otto is correct that they have to do with the two address fields on the General Settings page. Specifically, SITE is always where the WP files are actually located, and HOME *may* be /blog. In 99% of cases, a theme will want to use home_url().</div>


<div><br></div><div>home_url() is new in 3.0, but site_url(), admin_url(), content_url(), plugins_url(), and includes_url() were all added in 2.6. [1]</div><div><br></div><div>Additionally, we added 6 others that are for multisite installations. Three are network_admin_url(), _site_, and _home_... These are for the root site&#39;s admin, site, and home, respectively. And then get_admin_url(), _site_, and _home_, which are designed to be able to fetch the admin, site, and home of any site (it takes a blog_id parameter).</div>


<div><br></div><div>Thus it is important to know that get_site_url() and site_url() are *not* complimentary the way most get_ and non-get_ functions are (return versus echo).</div><div><br></div><div>[1] <a href="http://codex.wordpress.org/Determining_Plugin_and_Content_Directories" target="_blank">http://codex.wordpress.org/Determining_Plugin_and_Content_Directories</a></div>
<div class="im">

<div><br></div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

I would prefer to go with &quot;Theme authors may also use home_url()&quot; ... at least until we are given a clear direction from WPORG.</blockquote><div><br></div></div><div>Suggested direction: I would use &quot;recommended,&quot; primarily because they are easier to use. Instead of doing `get_bloginfo() . &#39;/blah/&#39;`, you can do home_url(&#39;/blah&#39;). That said, there is *zero* functional difference between the url and wpurl arguments for get_bloginfo() with their _url() counterparts (home and site, respectively), as bloginfo() simply calls home_url() or site_url(). Thus, the HTTPS scheme is covered.</div>


<div><br></div><div>However, get_option(&#39;home&#39;) or get_option(&#39;url&#39;) in a theme should throw a flag. Likewise, chances are in a theme, site_url() should actually be home_url() in most cases.</div><div><br>


</div><div>Questions welcome.</div><div><br></div><font color="#888888"><div>Nacin</div></font></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>