[wp-trac] [WordPress Trac] #20718: Function get_file_description() Always Returns File Name Instead of Template Name
WordPress Trac
wp-trac at lists.automattic.com
Mon May 21 10:15:47 UTC 2012
#20718: Function get_file_description() Always Returns File Name Instead of
Template Name
--------------------------------------+------------------------------
Reporter: arieputranto | Owner:
Type: defect (bug) | Status: new
Priority: normal | Milestone: Awaiting Review
Component: Administration | Version: 3.4
Severity: trivial | Resolution:
Keywords: dev-feedback needs-patch |
--------------------------------------+------------------------------
Description changed by SergeyBiryukov:
Old description:
> When there's a custom page template named "something.php" defined with
>
> /*
> Template Name: Something
> */
>
> On the theme editor, the file list supposed to returns:
>
> "Something"
> (something.php)
>
> where it is displaying only the file name:
>
> "something.php"
>
> Well it doesn't affect the functionality but it IS annoying.
>
> I found the problem is on the:
>
> file: wp-admin/includes/file.php
> line: 62
>
> where:
>
> elseif ( file_exists( $file ) && is_file( $file ) ) {
> $template_data = implode( '', file( $file ) );
> if ( preg_match( '|Template Name:(.*)$|mi',
> $template_data, $name ))
> return sprintf( __( '%s Page Template' ),
> _cleanup_header_comment($name[1]) );
>
> Well, it will always returns the filename instead of the template name
> since it will never find the $file on the defined path.
>
> It should be something like:
>
> elseif ( file_exists( get_template_directory() . '/' . $file ) &&
> is_file( get_template_directory() . '/' . $file ) ) {
> $template_data = implode( '', file(
> get_template_directory() . '/' . $file ) );
> if ( preg_match( '|Template Name:(.*)$|mi',
> $template_data, $name ))
> return sprintf( __( '%s Page Template' ),
> _cleanup_header_comment($name[1]) );
>
> Again, it's nothing but annoying
New description:
When there's a custom page template named "something.php" defined with
{{{
/*
Template Name: Something
*/
}}}
On the theme editor, the file list supposed to returns:
{{{
"Something"
(something.php)
}}}
where it is displaying only the file name:
{{{
"something.php"
}}}
Well it doesn't affect the functionality but it IS annoying.
I found the problem is on the:
file: wp-admin/includes/file.php
line: 62
where:
{{{
elseif ( file_exists( $file ) && is_file( $file ) ) {
$template_data = implode( '', file( $file ) );
if ( preg_match( '|Template Name:(.*)$|mi',
$template_data, $name ))
return sprintf( __( '%s Page Template' ),
_cleanup_header_comment($name[1]) );
}}}
Well, it will always returns the filename instead of the template name
since it will never find the $file on the defined path.
It should be something like:
{{{
elseif ( file_exists( get_template_directory() . '/' . $file ) &&
is_file( get_template_directory() . '/' . $file ) ) {
$template_data = implode( '', file(
get_template_directory() . '/' . $file ) );
if ( preg_match( '|Template Name:(.*)$|mi',
$template_data, $name ))
return sprintf( __( '%s Page Template' ),
_cleanup_header_comment($name[1]) );
}}}
Again, it's nothing but annoying
--
--
Ticket URL: <http://core.trac.wordpress.org/ticket/20718#comment:1>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software
More information about the wp-trac
mailing list