首先,打开你wordpress主题文件夹下的functions.php文件夹,然后将下面的代码放入:


  1. <?php   
  2. global $texonomy_slug;   
  3. $texonomy_slug='category'; // texonomy slug   
  4. add_action($texonomy_slug.'_add_form_fields','categoryimage');   
  5. function categoryimage($taxonomy){ ?>   
  6.     <div>   
  7.     <label for="tag-image">分类图像</label>   
  8.     <input type="text" name="tag-image" id="tag-image" value="" /><br /><span>请在此输入图像URL地址。</span>   
  9. </div>   
  10. <?php script_css(); }   
  11. add_action($texonomy_slug.'_edit_form_fields','categoryimageedit');   
  12. function categoryimageedit($taxonomy){ ?>   
  13. <tr>   
  14.     <th scope="row" valign="top"><label for="tag-image">图像</label></th>   
  15.     <td><input type="text" name="tag-image" id="tag-image" value="<?php echo get_option('_category_image'.$taxonomy->term_id); ?>" /><br /><span>请在此输入图像URL地址。</span></td>   
  16. </tr>   
  17. <?php script_css(); }   
  18. function script_css(){ ?>   
  19. <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/category-image_thickbox.js"></script>   
  20. <link rel='stylesheet' id='thickbox-css'  href='<?php echo includes_url(); ?>js/thickbox/thickbox.css' type='text/css' media='all' />   

  21. <script type="text/javascript">   
  22.     jQuery(document).ready(function() {   
  23.     var fileInput = '';   
  24.     jQuery('#tag-image').live('click',   
  25.     function() {   
  26.         fileInput = jQuery('#tag-image');   
  27.         tb_show('', 'media-upload.php?type=image&amp;TB_iframe=true');   
  28.         return false;   
  29.     });   
  30.         window.original_send_to_editor = window.send_to_editor;   
  31.     window.send_to_editor = function(html) {   
  32.         if (fileInput) {   
  33.             fileurl = jQuery('img', html).attr('src');   
  34.             if (!fileurl) {   
  35.                 fileurl = jQuery(html).attr('src');   
  36.             }   

  37.             jQuery(fileInput).val(fileurl);   
  38.             tb_remove();   

  39.         } else {   
  40.             window.original_send_to_editor(html);   
  41.         }   
  42.     };   
  43.     });   
  44. </script>   
  45. <?php }   
  46. //edit_$taxonomy   
  47. add_action('edit_term','categoryimagesave');   
  48. add_action('create_term','categoryimagesave');   
  49. function categoryimagesave($term_id){   
  50.     if(isset($_POST['tag-image'])){   
  51.         if(isset($_POST['tag-image']))   
  52.             update_option('_category_image'.$term_id,$_POST['tag-image'] );   
  53.     }   
  54. }   
  55. function print_image_function(){   
  56.     $texonomy_slug='category';   
  57.     $_terms = wp_get_post_terms(get_the_ID(),$texonomy_slug);   
  58.     $_termsidlist=array();   
  59.     $result = '';   
  60.     foreach($_terms as $val){   
  61.         $result .= '<div style="float:left; margin-right:2px;"><a href="'.get_term_link($val).'"><img height="22px" title="'.$val->name.'" alt="'.$val->name.'" src="'.get_option('_category_image'.$val->term_id).'" /></a></div>';   
  62.     }   
  63.     return $result;   
  64. }   
  65. add_shortcode('print-image','print_image_function');   
  66. ?>  

最后,运用到wordpress主题里,将下面的循环加入你想要现实的位置,编辑分类目录的时候下方会出现添加图像选项:


  1. <?php     
  2. $categories=get_categories($args);     
  3. foreach($categories as $category) {      
  4.     if ( get_option('_category_image'.$category->term_id) ){     

  5.             echo '<div><a href="'.get_term_link($category).'"><img title="'.$category->name.'" alt="'.$category->name.'" src="'.get_option('_category_image'.$category->term_id).'" /></a></div>';      
  6.     }     
  7.     echo '<div style=" text-align:center;"><a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '><b>' . $category->name.'</b></a></div>';     
  8. }?>    


就是因为看着很漂亮,所以我也想在归档页面搞一个,可惜的是没有成功,CSS和描述做起来有点麻烦,不知道还有没有其他方法可以实现,在折腾下...