mirror of
https://github.com/WordPress/WordPress.git
synced 2025-02-16 11:35:48 +00:00
Performance optimizations.
git-svn-id: http://svn.automattic.com/wordpress/trunk@760 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
41a4a14ded
commit
6f44a5461d
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Don't remove these lines. */
|
/* Don't remove these lines. */
|
||||||
$blog = 1;
|
$blog = 1;
|
||||||
require_once('wp-blog-header.php');
|
require('wp-blog-header.php');
|
||||||
// Uncomment the next line if you want to track blog updates from weblogs.com
|
// Uncomment the next line if you want to track blog updates from weblogs.com
|
||||||
//include_once(ABSPATH.WPINC.'/links-update-xml.php');
|
//include_once(ABSPATH.WPINC.'/links-update-xml.php');
|
||||||
?>
|
?>
|
||||||
|
@ -8,7 +8,7 @@ $curpath = dirname(__FILE__).'/';
|
|||||||
if (!file_exists($curpath . '/wp-config.php'))
|
if (!file_exists($curpath . '/wp-config.php'))
|
||||||
die("There doesn't seem to be a <code>wp-config.php</code> file. I need this before we can get started. Need more help? <a href='http://wordpress.org/docs/faq/#wp-config'>We got it</a>. You can <a href='wp-admin/install-config.php'>create a <code>wp-config.php</code> file through a web interface</a>, but this doesn't work for all server setups. The safest way is to manually create the file.");
|
die("There doesn't seem to be a <code>wp-config.php</code> file. I need this before we can get started. Need more help? <a href='http://wordpress.org/docs/faq/#wp-config'>We got it</a>. You can <a href='wp-admin/install-config.php'>create a <code>wp-config.php</code> file through a web interface</a>, but this doesn't work for all server setups. The safest way is to manually create the file.");
|
||||||
|
|
||||||
require_once ($curpath.'/wp-config.php');
|
require($curpath.'/wp-config.php');
|
||||||
|
|
||||||
$wpvarstoreset = array('m','p','posts','w','c', 'cat','withcomments','s','search','exact', 'sentence','poststart','postend','preview','debug', 'calendar','page','paged','more','tb', 'pb','author','order','orderby', 'year', 'monthnum', 'day', 'name', 'category_name');
|
$wpvarstoreset = array('m','p','posts','w','c', 'cat','withcomments','s','search','exact', 'sentence','poststart','postend','preview','debug', 'calendar','page','paged','more','tb', 'pb','author','order','orderby', 'year', 'monthnum', 'day', 'name', 'category_name');
|
||||||
|
|
||||||
@ -339,7 +339,15 @@ if ($posts) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Do the same for comment numbers
|
// Do the same for comment numbers
|
||||||
|
$comment_counts = $wpdb->get_results("SELECT ID, COUNT( comment_ID ) AS ccount
|
||||||
|
FROM $tableposts
|
||||||
|
LEFT JOIN $tablecomments ON ( comment_post_ID = ID AND comment_approved = '1')
|
||||||
|
WHERE post_status = 'publish' AND ID IN ($post_id_list)
|
||||||
|
GROUP BY ID");
|
||||||
|
|
||||||
|
foreach ($comment_counts as $comment_count) {
|
||||||
|
$comment_count_cache["$comment_count->ID"] = $comment_count->ccount;
|
||||||
|
}
|
||||||
|
|
||||||
if (1 == count($posts)) {
|
if (1 == count($posts)) {
|
||||||
if ($p || $name) {
|
if ($p || $name) {
|
||||||
|
@ -862,12 +862,10 @@ function the_ID() {
|
|||||||
echo $id;
|
echo $id;
|
||||||
}
|
}
|
||||||
|
|
||||||
function the_title($before='', $after='', $echo=true) {
|
function the_title($before = '', $after = '', $echo = true) {
|
||||||
$title = get_the_title();
|
$title = get_the_title();
|
||||||
$title = convert_bbcode($title);
|
|
||||||
$title = convert_gmcode($title);
|
|
||||||
$title = convert_smilies($title);
|
$title = convert_smilies($title);
|
||||||
if ($title) {
|
if (!empty($title)) {
|
||||||
$title = convert_chars($before.$title.$after);
|
$title = convert_chars($before.$title.$after);
|
||||||
$title = apply_filters('the_title', $title);
|
$title = apply_filters('the_title', $title);
|
||||||
if ($echo)
|
if ($echo)
|
||||||
@ -878,8 +876,6 @@ function the_title($before='', $after='', $echo=true) {
|
|||||||
}
|
}
|
||||||
function the_title_rss() {
|
function the_title_rss() {
|
||||||
$title = get_the_title();
|
$title = get_the_title();
|
||||||
$title = convert_bbcode($title);
|
|
||||||
$title = convert_gmcode($title);
|
|
||||||
$title = strip_tags($title);
|
$title = strip_tags($title);
|
||||||
if (trim($title)) {
|
if (trim($title)) {
|
||||||
echo convert_chars($title, 'unicode');
|
echo convert_chars($title, 'unicode');
|
||||||
@ -896,7 +892,7 @@ function the_title_unicode($before='',$after='') {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
function get_the_title() {
|
function get_the_title() {
|
||||||
global $id, $post;
|
global $post;
|
||||||
$output = stripslashes($post->post_title);
|
$output = stripslashes($post->post_title);
|
||||||
if (!empty($post->post_password)) { // if there's a password
|
if (!empty($post->post_password)) { // if there's a password
|
||||||
$output = 'Protected: ' . $output;
|
$output = 'Protected: ' . $output;
|
||||||
@ -1446,7 +1442,7 @@ function category_description($category = 0) {
|
|||||||
return $category_description;
|
return $category_description;
|
||||||
}
|
}
|
||||||
|
|
||||||
// out of the b2 loop
|
// out of the WordPress loop
|
||||||
function dropdown_cats($optionall = 1, $all = 'All', $sort_column = 'ID', $sort_order = 'asc',
|
function dropdown_cats($optionall = 1, $all = 'All', $sort_column = 'ID', $sort_order = 'asc',
|
||||||
$optiondates = 0, $optioncount = 0, $hide_empty = 1) {
|
$optiondates = 0, $optioncount = 0, $hide_empty = 1) {
|
||||||
global $cat, $tablecategories, $tableposts, $wpdb;
|
global $cat, $tablecategories, $tableposts, $wpdb;
|
||||||
@ -1488,32 +1484,41 @@ function dropdown_cats($optionall = 1, $all = 'All', $sort_column = 'ID', $sort_
|
|||||||
echo "</select>\n";
|
echo "</select>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
// out of the b2 loop
|
// out of the WordPress loop
|
||||||
function list_cats($optionall = 1, $all = 'All', $sort_column = 'ID', $sort_order = 'asc',
|
function list_cats($optionall = 1, $all = 'All', $sort_column = 'ID', $sort_order = 'asc', $file = '', $list = true, $optiondates = 0, $optioncount = 0, $hide_empty = 1) {
|
||||||
$file = 'blah', $list = true, $optiondates = 0, $optioncount = 0, $hide_empty = 1) {
|
|
||||||
global $tablecategories, $tableposts, $tablepost2cat, $wpdb;
|
global $tablecategories, $tableposts, $tablepost2cat, $wpdb;
|
||||||
global $pagenow, $siteurl, $blogfilename;
|
global $pagenow, $siteurl, $blogfilename;
|
||||||
global $querystring_start, $querystring_equal, $querystring_separator;
|
global $querystring_start, $querystring_equal, $querystring_separator;
|
||||||
if (($file == 'blah') || ($file == '')) {
|
// Optiondates does not currently work
|
||||||
|
if ('' == $file) {
|
||||||
$file = "$siteurl/$blogfilename";
|
$file = "$siteurl/$blogfilename";
|
||||||
}
|
}
|
||||||
$sort_column = 'cat_'.$sort_column;
|
$sort_column = 'cat_'.$sort_column;
|
||||||
|
|
||||||
$query = "
|
$query = "
|
||||||
SELECT cat_ID, cat_name, category_nicename,
|
SELECT cat_ID, cat_name, category_nicename
|
||||||
COUNT($tablepost2cat.post_id) AS cat_count,
|
FROM $tablecategories
|
||||||
DAYOFMONTH(MAX(post_date)) AS lastday, MONTH(MAX(post_date)) AS lastmonth
|
|
||||||
FROM $tablecategories LEFT JOIN $tablepost2cat ON (cat_ID = category_id)
|
|
||||||
LEFT JOIN $tableposts ON (ID = post_id)
|
|
||||||
WHERE cat_ID > 0
|
WHERE cat_ID > 0
|
||||||
GROUP BY category_id
|
|
||||||
";
|
";
|
||||||
if (intval($hide_empty) == 1) {
|
$query .= " ORDER BY $sort_column $sort_order";
|
||||||
$query .= " HAVING cat_count > 0";
|
|
||||||
}
|
|
||||||
$query .= " ORDER BY $sort_column $sort_order, post_date DESC";
|
|
||||||
|
|
||||||
$categories = $wpdb->get_results($query);
|
$categories = $wpdb->get_results($query);
|
||||||
|
|
||||||
|
if (intval($hide_empty) == 1) {
|
||||||
|
$cat_counts = $wpdb->get_results(" SELECT cat_ID,
|
||||||
|
COUNT(wp_post2cat.post_id) AS cat_count
|
||||||
|
FROM wp_categories LEFT JOIN wp_post2cat ON (cat_ID = category_id)
|
||||||
|
LEFT JOIN wp_posts ON (ID = post_id)
|
||||||
|
GROUP BY category_id");
|
||||||
|
foreach ($cat_counts as $cat_count) {
|
||||||
|
$category_posts["$cat_count->cat_ID"] = $cat_count->cat_count;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (intval($optioncount) == 1) {
|
||||||
|
$link .= ' ('.$category->cat_count.')';
|
||||||
|
}
|
||||||
|
|
||||||
if (!$categories) {
|
if (!$categories) {
|
||||||
if ($list) {
|
if ($list) {
|
||||||
$before = '<li>';
|
$before = '<li>';
|
||||||
@ -1522,22 +1527,15 @@ function list_cats($optionall = 1, $all = 'All', $sort_column = 'ID', $sort_orde
|
|||||||
echo $before . "No categories" . $after . "\n";
|
echo $before . "No categories" . $after . "\n";
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (intval($optionall) == 1) {
|
|
||||||
$all = apply_filters('list_cats', $all);
|
|
||||||
$link = "<a href=\"".$file.$querystring_start.'cat'.$querystring_equal.'all">'.$all."</a>";
|
|
||||||
if ($list) echo "\n\t<li>$link</li>";
|
|
||||||
else echo "\t$link<br />\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($categories as $category) {
|
foreach ($categories as $category) {
|
||||||
$cat_name = apply_filters('list_cats', $category->cat_name);
|
|
||||||
$link = '<a href="'.get_category_link(0, $category->cat_ID, $category->category_nicename).'" title="View all posts filed under ' . $category->cat_name . '">';
|
$link = '<a href="'.get_category_link(0, $category->cat_ID, $category->category_nicename).'" title="View all posts filed under ' . $category->cat_name . '">';
|
||||||
$link .= stripslashes($cat_name).'</a>';
|
$link .= stripslashes($category->cat_name).'</a>';
|
||||||
if (intval($optioncount) == 1) {
|
if (intval($optioncount) == 1) {
|
||||||
$link .= ' ('.$category->cat_count.')';
|
$link .= ' ('.$category_posts["$category->cat_ID"].')';
|
||||||
}
|
}
|
||||||
if (intval($optiondates) == 1) {
|
if (intval($optiondates) == 1) {
|
||||||
$link .= ' '.$category->lastday.'/'.$category->lastmonth;
|
$link .= ' '.$category->lastday.'/'.$category->lastmonth;
|
||||||
}
|
}
|
||||||
if ($list) {
|
if ($list) {
|
||||||
echo "\t<li>$link</li>\n";
|
echo "\t<li>$link</li>\n";
|
||||||
@ -1580,7 +1578,6 @@ function comments_number($zero='No Comments', $one='1 Comment', $more='% Comment
|
|||||||
|
|
||||||
function comments_link($file='', $echo=true) {
|
function comments_link($file='', $echo=true) {
|
||||||
global $id, $pagenow;
|
global $id, $pagenow;
|
||||||
global $querystring_start, $querystring_equal, $querystring_separator;
|
|
||||||
if ($file == '') $file = $pagenow;
|
if ($file == '') $file = $pagenow;
|
||||||
if ($file == '/') $file = '';
|
if ($file == '/') $file = '';
|
||||||
if (!$echo) return get_permalink() . '#comments';
|
if (!$echo) return get_permalink() . '#comments';
|
||||||
@ -1598,7 +1595,12 @@ function comments_popup_script($width=400, $height=400, $file='wp-comments-popup
|
|||||||
function comments_popup_link($zero='No Comments', $one='1 Comment', $more='% Comments', $CSSclass='', $none='Comments Off') {
|
function comments_popup_link($zero='No Comments', $one='1 Comment', $more='% Comments', $CSSclass='', $none='Comments Off') {
|
||||||
global $id, $wpcommentspopupfile, $wpcommentsjavascript, $post, $wpdb, $tablecomments, $HTTP_COOKIE_VARS, $cookiehash;
|
global $id, $wpcommentspopupfile, $wpcommentsjavascript, $post, $wpdb, $tablecomments, $HTTP_COOKIE_VARS, $cookiehash;
|
||||||
global $querystring_start, $querystring_equal, $querystring_separator, $siteurl;
|
global $querystring_start, $querystring_equal, $querystring_separator, $siteurl;
|
||||||
$number = $wpdb->get_var("SELECT COUNT(comment_ID) FROM $tablecomments WHERE comment_post_ID = $id AND comment_approved = '1';");
|
global $comment_count_cache;
|
||||||
|
if ('' == $comment_count_cache["$id"]) {
|
||||||
|
$number = $wpdb->get_var("SELECT COUNT(comment_ID) FROM $tablecomments WHERE comment_post_ID = $id AND comment_approved = '1';");
|
||||||
|
} else {
|
||||||
|
$number = $comment_count_cache["$id"];
|
||||||
|
}
|
||||||
if (0 == $number && 'closed' == $post->comment_status && 'closed' == $post->ping_status) {
|
if (0 == $number && 'closed' == $post->comment_status && 'closed' == $post->ping_status) {
|
||||||
echo $none;
|
echo $none;
|
||||||
return;
|
return;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user