diff options
Diffstat (limited to 'wp-includes')
-rw-r--r-- | wp-includes/category.php | 16 | ||||
-rw-r--r-- | wp-includes/theme.php | 23 |
2 files changed, 31 insertions, 8 deletions
diff --git a/wp-includes/category.php b/wp-includes/category.php index 8c73e6c..30392a7 100644 --- a/wp-includes/category.php +++ b/wp-includes/category.php @@ -20,9 +20,14 @@ function &get_categories($args = '') { parse_str($args, $r); $defaults = array('type' => 'post', 'child_of' => 0, 'orderby' => 'name', 'order' => 'ASC', - 'hide_empty' => true, 'include_last_update_time' => false, 'hierarchical' => 1, $exclude => '', $include => ''); + 'hide_empty' => true, 'include_last_update_time' => false, 'hierarchical' => 1, $exclude => '', $include => '', + 'number' => ''); $r = array_merge($defaults, $r); - $r['orderby'] = "cat_" . $r['orderby']; // restricts order by to cat_ID and cat_name fields + if ( 'count' == $r['orderby'] ) + $r['orderby'] = 'category_count'; + else + $r['orderby'] = "cat_" . $r['orderby']; // restricts order by to cat_ID and cat_name fields + $r['number'] = (int) $r['number']; extract($r); $where = 'cat_ID > 0'; @@ -70,7 +75,12 @@ function &get_categories($args = '') { $having = 'HAVING category_count > 0'; } - $categories = $wpdb->get_results("SELECT * FROM $wpdb->categories WHERE $where $having ORDER BY $orderby $order"); + if ( !empty($number) ) + $number = 'LIMIT ' . $number; + else + $number = ''; + + $categories = $wpdb->get_results("SELECT * FROM $wpdb->categories WHERE $where $having ORDER BY $orderby $order $number"); if ( empty($categories) ) return array(); diff --git a/wp-includes/theme.php b/wp-includes/theme.php index 182d148..2ce5641 100644 --- a/wp-includes/theme.php +++ b/wp-includes/theme.php @@ -26,11 +26,6 @@ function get_stylesheet_uri() { } function get_template() { - $template = get_settings('template'); - if (!file_exists(get_theme_root() . "/$template")) { //works for dirs too - update_option('template', 'default'); - update_option('stylesheet', 'default'); - } return apply_filters('template', get_settings('template')); } @@ -375,4 +370,22 @@ function load_template($file) { require_once($file); } +function validate_current_theme() { + if ((get_template() != 'default') && (!file_exists(get_template_directory() . '/index.php'))) { + update_option('template', 'default'); + update_option('stylesheet', 'default'); + do_action('switch_theme', 'Default'); + return false; + } + + if ((get_stylesheet() != 'default') && (!file_exists(get_template_directory() . '/style.css'))) { + update_option('template', 'default'); + update_option('stylesheet', 'default'); + do_action('switch_theme', 'Default'); + return false; + } + + return true; +} + ?> |