给 wordpress分类目录添加自定义META属性字段

2018-11-01    来源:学做网站论坛

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

很多使用WORDPRESS程序建网站的同学都苦于WP程序的分类目录的属性太少了,只有分类的标题,别名,描述。不能像文章模板里可以调用wordpress自定义栏目,而分类目录下的其它属性却很难自定义。

给 wordpress分类目录添加自定义META属性字段

为了让我们更好的利用wordpress程序做出需要的网站功能效果,学做网站论坛分享一下如何给分类目录添加自定义的META属性

1. ?在模板目录下的 function.php 里,插入以下代码,用于添加包含 页面 category_field.php

// 分类添加字段
require_once( dirname(__FILE__).‘/category_field.php’ );

2. ?新建 category_field.php 页面,代码如下:

<?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);
?>

3、调用方法(可以在wordpress文章模板(single.php)调用分类的META信息)

<?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>

以上是通过代码的方式给我们的分类目录添加META属性字段,我们还可以使用插件的方法来完成同样的效果,方法见:https://www.xuewangzhan.com/wpbbs/6889.html

标签: 代码 建网站 权限

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:如何解决wordpress后台地址修改后无法登录后台

下一篇:不懂英文可以学习做网站吗