[theme-reviewers] get_template_part vs locate_template
Justin Tadlock
justin at justintadlock.com
Sat Apr 23 17:01:24 UTC 2011
Also, when you use something like:
get_template_part( 'dir/slug' )
You create a weird hook:
get_template_part_dir/slug
On 4/23/2011 11:56 AM, Justin Tadlock wrote:
> get_template_part() was never meant to allow anything other than a
> slug (not a directory and slug). Westi (who created the function) has
> stated that this should be considered a bug. If you look at the
> inline documentation for get_template_part() in the
> wp-includes/general-template.php file, the documentation clearly
> states that the first parameter of the function should be a *slug*.
>
> Basically, get_template_part() is a generic version of get_header(),
> get_footer(), and get_sidebar(). It's meant to work in a similar
> fashion with the difference being that you can also define the slug.
>
> There is a ticket trying to address the issue of sub-directories and
> get_template_part() right now:
> http://core.trac.wordpress.org/ticket/15086
>
> Until that ticket has been closed and a resolution decided upon,
> locate_template() would be the most correct option for including
> templates within sub-directories.
>
> Now, for the question of including CSS files, neither of the functions
> should be used. CSS files must use the URI path, but those functions
> will use the directory path. You should always use
> get_stylesheet_directory_uri() or get_template_directory_uri()
> (depending on the scenario).
>
> On 4/22/2011 11:37 AM, Chip Bennett wrote:
>> I believe the use of get_template_part() is acceptable for including
>> files in subdirectories.
>>
>> However, CSS should *always* be enqueued and output via the
>> wp_print_styles hook, rather than dumped directly into the template.
>>
>> Chip
>>
>> On Fri, Apr 22, 2011 at 11:34 AM, Curtis McHale
>> <curtis at curtismchale.ca <mailto:curtis at curtismchale.ca>> wrote:
>>
>> I'm reviewing a theme and I've found uses of get_template_part
>> where I believe that locate_template is the proper item.
>> Specifically the code below loads the custom stylesheet.
>>
>> <?php get_template_part('css/custom-css')?>
>>
>> It was my understanding that in this case we should use:
>>
>> <?php locate_template( array( '/css/custom-css.css' ), 1); ?>
>>
>> and that get_template part was to call a file in the same
>> directory like loop-main.php. Is there established best practice
>> and if so what is it? Is the use above an okay way to call a
>> custom stylesheet in to the theme? If not what way is currently
>> advised?
>>
>> Curtis McHale
>> PH: 604.751.3482
>> http://www.curtismchale.ca
>> Linkedin: http://www.linkedin.com/in/curtismchale
>> Twitter: twitter.com/curtismchale <http://twitter.com/curtismchale>
>>
>>
>> _______________________________________________
>> 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
>
>
> _______________________________________________
> 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/20110423/f1ff0785/attachment.htm>
More information about the theme-reviewers
mailing list