[theme-reviewers] New Tags in 3.0: home_url(), site_url(), admin_url()

Chip Bennett chip at chipbennett.net
Sun Aug 29 01:11:49 UTC 2010


These are incorporated now. Please make sure I didn't state anything
incorrectly.

Chip

On Sat, Aug 28, 2010 at 10:15 AM, Edward Caissie
<edward.caissie at gmail.com>wrote:

> Thank you for the input Andrew. This is very much along the lines of we are
> looking for from the core developers.
>
> Reasoning, explanations, and "wording" for inclusion into the Theme Review
> and related pages ...
>
> ... @Chip, will you have a look at incorporating nacin's words into the
> section of the Theme Review page, please.
>
> Thanks,
>
>
> Cais.
>
> On Sat, Aug 28, 2010 at 5:38 AM, Andrew Nacin <wp at andrewnacin.com> wrote:
>
>> On Fri, Aug 27, 2010 at 2:45 PM, Chip Bennett <chip at chipbennett.net>wrote:
>>
>>> On Fri, Aug 27, 2010 at 1:41 PM, Edward Caissie <
>>> edward.caissie at gmail.com> wrote:
>>>
>>>> I'm not seeing a great deal of difference in their functionality from
>>>> the codex pages.
>>>>
>>>> The major differences I am seeing in core are:
>>>>
>>>>    - site_url() returns get_option ( 'siteurl' ) vs. home_url returns
>>>>    get_option( 'home' )
>>>>    - site_url() does additonal $scheme checks
>>>>
>>>> Allow me to summarize everything, as well as what was added in 3.0.
>>
>> In a nutshell, home_url() is to get_bloginfo('url') or get_option('home'),
>> as site_url() is to get_option('site_url') or get_bloginfo('wpurl');
>>
>> 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.
>>
>> 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().
>>
>> 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]
>>
>> Additionally, we added 6 others that are for multisite installations.
>> Three are network_admin_url(), _site_, and _home_... These are for the root
>> site'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).
>>
>> 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).
>>
>> [1] http://codex.wordpress.org/Determining_Plugin_and_Content_Directories
>>
>> I would prefer to go with "Theme authors may also use home_url()" ... at
>>> least until we are given a clear direction from WPORG.
>>
>>
>> Suggested direction: I would use "recommended," primarily because they are
>> easier to use. Instead of doing `get_bloginfo() . '/blah/'`, you can do
>> home_url('/blah'). 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.
>>
>> However, get_option('home') or get_option('url') in a theme should throw a
>> flag. Likewise, chances are in a theme, site_url() should actually be
>> home_url() in most cases.
>>
>> Questions welcome.
>>
>> Nacin
>>
>> _______________________________________________
>> theme-reviewers mailing list
>> 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/20100828/82a58fd0/attachment-0001.htm>


More information about the theme-reviewers mailing list