也想出现在这里? 联系我们

WordPress添加字段添加到自定义分类法项目

作者 : 小编 本文共1861个字,预计阅读时间需要5分钟 发布时间: 2020-07-31 共1.55K人阅读
也想出现在这里? 联系我们

WordPress提供元字段支持,包括文章类型、用户、评论、多站点网络中的博客以及自定义分类法项目/分类法术语(Taxonomy Terms)。

Taxonomy Terms指的是某一种分类法下的一个分类项。比如文章的分类目录和标签,就是两种默认的分类法,它们中的任何一个分类项、标签都是 Taxonomy Term。WordPress 还允许我们注册新的分类法,所以Taxonomy Terms也包括这个自定义分类法的分类项目。

下面的例子中,我们将为标签 Tags 添加一个新的字段 Text Field。

1.将字段添加到“添加新术语”界面

要在“添加新XX”界面上添加字段,我们将使用动作挂钩{Taxonomy}_add_form_fields,我们要做的就是如何显示字段。

add_action( ‘post_tag_add_form_fields’, ‘misha_add_term_fields’ );

function misha_add_term_fields( $taxonomy ) {

echo ‘<div class=”form-field”>

<label for=”misha-text”>Text Field</label>

<input type=”text” name=”misha-text” id=”misha-text” />

<p>Field description may go here.</p>

</div>’;

}

我决定在post_tag分类法中添加一个字段,因此我的操作钩子是post_tag_add_form_fields。但是您可以在此处使用任何自定义分类法名称。

$taxonomy函数内部提供了分类法名称作为变量。

不要忘记在字段容器的div 添加 form-field类。

结果如下:

我们可以使用post_tag_add_form_fields操作钩子将字段添加到“添加新标签”页面。

2.将字段添加到“编辑术语”界面

与本教程的前一部分非常相似,主要区别在于,如果出现元数据,则必须填充该字段。

让我们从一个动作钩子开始{Taxonomy}_edit_form_fields。对于post_tag分类法,它将是post_tag_edit_form_fields,如果是自定义分类法,就需要修改前面的部分,比如misha_taxonomy_edit_form_fields。

add_action( ‘post_tag_edit_form_fields’, ‘misha_edit_term_fields’, 10, 2 );

function misha_edit_term_fields( $term, $taxonomy ) {

$value = get_term_meta( $term->term_id, ‘misha-text’, true );

echo ‘<tr class=”form-field”>

<th>

<label for=”misha-text”>Text Field</label>

</th>

<td>

<input name=”misha-text” id=”misha-text” type=”text” value=”‘ . esc_attr( $value ) .'” />

<p class=”description”>Field description may go here.</p>

</td>

</tr>’;

}

函数具有两个参数:$term–是当前编辑的术语对象,$taxonomy–分类法名称。

我们在get_term_meta()这里使用函数来获取术语元数据。

不要忘记转义从数据库中获取的数据。

现在在编辑界面如下所示:

我们可以使用post_tag_edit_form_fields动作挂钩将字段添加到“编辑标签”页面。

3.保存字段

最后一步是将字段值保存到数据库中。我们还有两个动作钩子- created_{Taxonomy}和edited_{Taxonomy}。幸运的是,我们可以将相同的回调函数连接到这两个函数。

add_action( ‘created_post_tag’, ‘misha_save_term_fields’ );

add_action( ‘edited_post_tag’, ‘misha_save_term_fields’ );

function misha_save_term_fields( $term_id ) {

update_term_meta(

$term_id,

‘misha-text’,

sanitize_text_field( $_POST[ ‘misha-text’ ] )

);

}

到这里就完成啦!

1. 本站所提供的源码模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: rayer@88.com),我们会及时删除,给您带来的不便,我们深表歉意!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » WordPress添加字段添加到自定义分类法项目

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
织梦模板使用说明
你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html

发表评论

Copyright 2015-2020 版权所有 资源分享吧 Rights Reserved. 蜀ICP备14022927号-1
开通VIP 享更多特权,建议使用QQ登录