王尘宇王尘宇

研究百度干SEO做推广变成一个被互联网搞的人

为WordPress分类目录增加个性化图象功用扩大(二)

在做wordpress主题开发的时刻,倏忽被客户请求做一个页面,来展现一切的分类,且分类照样要图片情势的来展现,话说做音乐类站,分类确切须要做个相似封面的分类图象才行,但是特么的wordpress分类目录设置里值有标题、别号和形貌,在形貌里又不能加图片代码。。。总么办?实在我在《wordpress分类目录增加个性化图象功用扩大(一)》 内里有讲到。。。而这篇文章就涵盖了,上面说了做一个页面,来展现一切的分类,且分类照样要图片情势的来展现 好吧,我给个图你就可以理解了!

下面就直接上教程吧,起首,翻开你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. ?>

新手须要注重的是,将以上代码到场到functions.php文件的时刻,看是不是须要去掉头尾的

  1. <?php  

  2.   

  3.   

  4. ?>  

许多新手都是由于未去掉头部,造成了网站打不开的状况,至于熟手,求别打我,我是大叔我罗嗦!
代码到场后,就会涌现下图的结果

末了,运用到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. }?>  

终究的大致结果就如文章第一张图所示!

相关文章

评论列表

发表评论:
验证码

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。