summaryrefslogtreecommitdiffstats
path: root/wp-includes
diff options
context:
space:
mode:
Diffstat (limited to 'wp-includes')
-rw-r--r--wp-includes/category.php16
-rw-r--r--wp-includes/theme.php23
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;
+}
+
?>