[wp-cvs] wordpress/wp-includes functions.php,1.243,1.244
Ryan Boren
rboren at users.sourceforge.net
Tue Feb 1 03:44:34 GMT 2005
Update of /cvsroot/cafelog/wordpress/wp-includes
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31723/wp-includes
Modified Files:
functions.php
Log Message:
get_*_template() functions and filters.
Index: functions.php
===================================================================
RCS file: /cvsroot/cafelog/wordpress/wp-includes/functions.php,v
retrieving revision 1.243
retrieving revision 1.244
diff -C2 -d -r1.243 -r1.244
*** functions.php 31 Jan 2005 18:46:17 -0000 1.243
--- functions.php 1 Feb 2005 03:44:32 -0000 1.244
***************
*** 1453,1474 ****
}
function get_page_template() {
global $wp_query;
$id = $wp_query->post->ID;
- $template_dir = get_template_directory();
- $default = "$template_dir/page.php";
-
$template = get_post_meta($id, '_wp_page_template', true);
! if (empty($template) || ($template == 'default')) {
! return $default;
! }
! if (file_exists("$template_dir/$template")) {
! return "$template_dir/$template";
! }
! return $default;
}
--- 1453,1527 ----
}
+ function get_query_template($type) {
+ $template = '';
+ if ( file_exists(TEMPLATEPATH . "/{$type}.php") )
+ $template = TEMPLATEPATH . "/{$type}.php";
+
+ return apply_filters("{$type}_template", $template);
+ }
+
+ function get_404_template() {
+ return get_query_template('404');
+ }
+
+ function get_archive_template() {
+ return get_query_template('archive');
+ }
+
+ function get_author_template() {
+ return get_query_template('author');
+ }
+
+ function get_category_template() {
+ $template = '';
+ if ( file_exists(TEMPLATEPATH . "/category-" . get_query_var('cat') . '.php') )
+ $template = TEMPLATEPATH . "/category-" . get_query_var('cat') . '.php';
+ else if ( file_exists(TEMPLATEPATH . "/category.php") )
+ $template = TEMPLATEPATH . "/category.php";
+
+ return apply_filters('category_template', $template);
+ }
+
+ function get_date_template() {
+ return get_query_template('date');
+ }
+
+ function get_home_template() {
+ $template = '';
+ if ( file_exists(TEMPLATEPATH . "/index.php") )
+ $template = TEMPLATEPATH . "/index.php";
+
+ return apply_filters('home_template', $template);
+ }
+
function get_page_template() {
global $wp_query;
$id = $wp_query->post->ID;
$template = get_post_meta($id, '_wp_page_template', true);
! if ( 'default' == $template )
! $template = '';
! if ( ! empty($template) && file_exists(TEMPLATEPATH . "/$template") )
! $template = TEMPLATEPATH . "/$template";
! else if ( file_exists(TEMPLATEPATH . "/page.php") )
! $template = TEMPLATEPATH . "/page.php";
! else
! $template = '';
! return apply_filters('page_template', $template);
! }
!
! function get_paged_template() {
! return get_query_template('paged');
! }
!
! function get_search_template() {
! return get_query_template('search');
! }
!
! function get_single_template() {
! return get_query_template('single');
}
More information about the cvs
mailing list