wordpress分类字段功能对于综合类网站来讲,是一个非常灵活的调用功能。可以根据网站不同的需求来调用不同的字段选项;下面给大家介绍一款非常实力的函数代码;是用来调用电话及联络方式的,各位可以根据自己的需求对代码进行调整和修改;大挖用来修改成了wordpress主题分类的标签id调用;亲测可用的;
1. 在wordpress主题模板目录下的主函数文本代码 function.PHP 里添加包含 页面 category_field.php
包括代码如下:
1 2 |
// 分类添加字段 require_once( dirname(__FILE__).'/category_field.php' ); |
2. 新建 category_field.php 页面
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
<?php // 分类添加字段 function ems_add_category_field(){ echo '<div class="form-field"> <label for="cat-tel">Tel</label> <input name="cat-tel" id="cat-tel" type="text" value="" size="40"> <p>The telephone.</p> </div>'; echo '<div class="form-field"> <label for="cat-url">URL</label> <input name="cat-url" id="cat-url" type="text" value="" size="40"> <p>The URL.</p> </div>'; } add_action('category_add_form_fields','ems_add_category_field',10,2); // 分类编辑字段 function ems_edit_category_field($tag){ echo '<tr class="form-field"> <th scope="row"><label for="cat-tel">Tel</label></th> <td> <input name="cat-tel" id="cat-tel" type="text" value="'; echo get_option('cat-tel-'.$tag->term_id).'" size="40"/><br> <span class="cat-tel">'.$tag->name.' on the phone.</span> </td> </tr>'; echo '<tr class="form-field"> <th scope="row"><label for="cat-url">URL</label></th> <td> <input name="cat-url" id="cat-url" type="text" value="'; echo get_option('cat-url-'.$tag->term_id).'" size="40"/><br> <span class="cat-url">'.$tag->name.' on the URL.</span> </td> </tr>'; } add_action('category_edit_form_fields','ems_edit_category_field',10,2); // 保存数据 function ems_taxonomy_metadate($term_id){ if(isset($_POST['cat-tel']) && isset($_POST['cat-url'])){ //判断权限--可改 if(!current_user_can('manage_categories')){ return $term_id; } // 电话 $tel_key = 'cat-tel-'.$term_id; // key 选项名为 cat-tel-1 类型 $tel_value = $_POST['cat-tel']; // value // url $url_key = 'cat-url-'.$term_id; $url_value = $_POST['cat-url']; // 更新选项值 update_option( $tel_key, $tel_value ); update_option( $url_key, $url_value ); } } // 虽然要两个钩子,但是我们可以两个钩子使用同一个函数 add_action('created_category','ems_taxonomy_metadate',10,1); add_action('edited_category','ems_taxonomy_metadate',10,1); ?> |
前台字段调用方法
1 2 3 4 5 6 7 8 9 10 |
<?php // 取出当前分类 id: $categories[0]->term_id $categories = get_the_category(); $term_id = $categories[0]->term_id; $cat_name = $categories[0]->name; ?> <div class="phone"> <div class="p1"><?php echo get_option('cat-tel-'.$term_id);?></div> <div class="p2"><a href="<?php echo get_option('cat-url-'.$term_id);?> " target="_blank"><?php echo $cat_name;?></a></div> </div> |