📄 template-functions-category.php
字号:
$query .=" GROUP BY cat_ID"; if (intval($hide_empty) == 1) $query .= " HAVING cat_count > 0"; $query .= " ORDER BY $sort_column $sort_order, post_date DESC"; $categories = $wpdb->get_results($query); echo "<select name='cat' class='postform'>\n"; if (intval($optionall) == 1) { $all = apply_filters('list_cats', $all); echo "\t<option value='all'>$all</option>\n"; } if (intval($optionnone) == 1) echo "\t<option value='0'>无</option>\n"; if ($categories) { foreach ($categories as $category) { $cat_name = apply_filters('list_cats', $category->cat_name); echo "\t<option value=\"".$category->cat_ID."\""; if ($category->cat_ID == $selected) echo ' selected="selected"'; echo '>'; echo stripslashes($cat_name); if (intval($optioncount) == 1) echo ' ('.$category->cat_count.')'; if (intval($optiondates) == 1) echo ' '.$category->lastday.'/'.$category->lastmonth; echo "</option>\n"; } } echo "</select>\n";}// out of the WordPress loopfunction wp_list_cats($args = '') { parse_str($args, $r); if (!isset($r['optionall'])) $r['optionall'] = 0; if (!isset($r['all'])) $r['all'] = 'All'; if (!isset($r['sort_column'])) $r['sort_column'] = 'ID'; if (!isset($r['sort_order'])) $r['sort_order'] = 'asc'; if (!isset($r['file'])) $r['file'] = ''; if (!isset($r['list'])) $r['list'] = true; if (!isset($r['optiondates'])) $r['optiondates'] = 0; if (!isset($r['optioncount'])) $r['optioncount'] = 0; if (!isset($r['hide_empty'])) $r['hide_empty'] = 1; if (!isset($r['use_desc_for_title'])) $r['use_desc_for_title'] = 1; if (!isset($r['children'])) $r['children'] = true; if (!isset($r['child_of'])) $r['child_of'] = 0; if (!isset($r['categories'])) $r['categories'] = 0; if (!isset($r['recurse'])) $r['recurse'] = 0; if (!isset($r['feed'])) $r['feed'] = ''; if (!isset($r['feed_image'])) $r['feed_image'] = ''; if (!isset($r['exclude'])) $r['exclude'] = ''; if (!isset($r['hierarchical'])) $r['hierarchical'] = true; list_cats($r['optionall'], $r['all'], $r['sort_column'], $r['sort_order'], $r['file'], $r['list'], $r['optiondates'], $r['optioncount'], $r['hide_empty'], $r['use_desc_for_title'], $r['children'], $r['child_of'], $r['categories'], $r['recurse'], $r['feed'], $r['feed_image'], $r['exclude'], $r['hierarchical']);}function list_cats($optionall = 1, $all = 'All', $sort_column = 'ID', $sort_order = 'asc', $file = '', $list = true, $optiondates = 0, $optioncount = 0, $hide_empty = 1, $use_desc_for_title = 1, $children=FALSE, $child_of=0, $categories=0, $recurse=0, $feed = '', $feed_image = '', $exclude = '', $hierarchical=FALSE) { global $wpdb, $category_posts, $siteurl; // Optiondates now works if ('' == $file) { $file = $siteurl . '/index.php'; } $exclusions = ''; if (!empty($exclude)) { $excats = preg_split('/[\s,]+/',$exclude); if (count($excats)) { foreach ($excats as $excat) { $exclusions .= ' AND cat_ID <> ' . intval($excat) . ' '; } } } if (intval($categories)==0){ $sort_column = 'cat_'.$sort_column; $query = " SELECT cat_ID, cat_name, category_nicename, category_description cat_description, category_parent FROM {$wpdb->categories} WHERE cat_ID > 0 $exclusions ORDER BY $sort_column $sort_order"; $categories = $wpdb->get_results($query); } if (!count($category_posts)) { $cat_counts = $wpdb->get_results(" SELECT cat_ID, COUNT({$wpdb->post2cat}.post_id) AS cat_count FROM {$wpdb->categories} INNER JOIN {$wpdb->post2cat} ON (cat_ID = category_id) INNER JOIN {$wpdb->posts} ON (ID = post_id) WHERE post_status = 'publish' $exclusions GROUP BY category_id"); if (! empty($cat_counts)) { foreach ($cat_counts as $cat_count) { if (1 != intval($hide_empty) || $cat_count > 0) { $category_posts["$cat_count->cat_ID"] = $cat_count->cat_count; } } } } if (intval($optiondates) == 1) { $cat_dates = $wpdb->get_results(" SELECT cat_ID, DAYOFMONTH(MAX(post_date)) AS lastday, MONTH(MAX(post_date)) AS lastmonth FROM {$wpdb->categories} INNER JOIN {$wpdb->post2cat} ON (cat_ID = category_id) INNER JOIN {$wpdb->posts} ON (ID = post_id) WHERE post_status = 'publish' $exclusions GROUP BY category_id"); foreach ($cat_dates as $cat_date) { $category_lastday["$cat_date->cat_ID"] = $cat_date->lastday; $category_lastmonth["$cat_date->cat_ID"] = $cat_date->lastmonth; } } if (intval($optionall) == 1 && !$child_of && $categories) { $all = apply_filters('list_cats', $all); $link = "<a href=\"".$file.'?cat=all">'.$all."</a>"; if ($list) { echo "\n\t<li>$link</li>"; } else { echo "\t$link<br />\n"; } } $num_found=0; $thelist = ""; foreach ($categories as $category) { if ((intval($hide_empty) == 0 || isset($category_posts["$category->cat_ID"])) && (!$hierarchical || $category->category_parent == $child_of) && ($children || $category->category_parent == 0)) { $num_found++; $link = '<a href="'.get_category_link(0, $category->cat_ID, $category->category_nicename).'" '; if ($use_desc_for_title == 0 || empty($category->category_description)) { $link .= 'title="'. sprintf("查看分类 %s", htmlspecialchars($category->cat_name)) . ' 中的所有内容"'; } else { $link .= 'title="' . htmlspecialchars($category->category_description) . '"'; } $link .= '>'; $link .= apply_filters('list_cats', $category->cat_name).'</a>'; if ( (! empty($feed_image)) || (! empty($feed)) ) { $link .= ' '; if (empty($feed_image)) { $link .= '('; } $link .= '<a href="' . get_category_rss_link(0, $category->cat_ID, $category->category_nicename) . '"'; if ( !empty($feed) ) { $title = ' title="' . $feed . '"'; $alt = ' alt="' . $feed . '"'; $name = $feed; $link .= $title; } $link .= '>'; if (! empty($feed_image)) { $link .= "<img src=\"$feed_image\" border=\"0\"$alt$title" . ' />'; } else { $link .= $name; } $link .= '</a>'; if (empty($feed_image)) { $link .= ')'; } } if (intval($optioncount) == 1) { $link .= ' ('.intval($category_posts["$category->cat_ID"]).')'; } if (intval($optiondates) == 1) { $link .= ' '.$category_lastday["$category->cat_ID"].'/'.$category_lastmonth["$category->cat_ID"]; } if ($list) { $thelist .= "\t<li>$link\n"; } else { $thelist .= "\t$link<br />\n"; } if ($hierarchical && $children) $thelist .= list_cats($optionall, $all, $sort_column, $sort_order, $file, $list, $optiondates, $optioncount, $hide_empty, $use_desc_for_title, $hierarchical, $category->cat_ID, $categories, 1, $feed, $feed_image, $exclude, $hierarchical); if ($list) $thelist .= "</li>\n"; } } if (!$num_found && !$child_of){ if ($list) { $before = '<li>'; $after = '</li>'; } echo $before . "尚无分类" . $after . "\n"; return; } if ($list && $child_of && $num_found && $recurse) { $pre = "\t\t<ul class='children'>"; $post = "\t\t</ul>\n"; } else { $pre = $post = ''; } $thelist = $pre . $thelist . $post; if ($recurse) { return $thelist; } echo apply_filters('list_cats', $thelist);}function in_category($category) { // Check if the current post is in the given category global $post, $category_cache; $cats = ''; foreach ($category_cache[$post->ID] as $cat) : $cats[] = $cat->category_id; endforeach; if ( in_array($category, $cats) ) return true; else return false;}///function the_category_unicode() { $category = get_the_category(); $category = apply_filters('the_category_unicode', $category); echo convert_chars($category, 'unicode');}?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -