我需要一个下拉菜单和一个单行文本区域。但是我还需要为帖子类型设置单独的字段。因此,假设帖子类型1有3个字段,帖子类型2有4个字段,但是字段不同。
任何技巧都可以帮助我查看编解码器并发现一些内容,但无法理解我需要添加到
functions.php
文件中的内容#1 楼
这可能比您想象的要复杂,我将使用一个框架进行研究:http://wpgear.org/#meta-fields
br />如果您想编写自己的书,请参考以下一些不错的教程:
http://net.tutsplus.com/tutorials/wordpress/creating-custom -fields-for-attachments-in-wordpress /
http://sltaylor.co.uk/blog/control-your-own-wordpress-custom-fields/
http:/ /thinkvitamin.com/code/create-your-first-wordpress-custom-post-type/
评论
真的会很难。我认为这就像将邮政代码添加到我的函数中一样简单,就像我们处理帖子类型和分类法一样。
–xLRDxREVENGEx
2011年5月13日下午3:07
我将为这个答案加一个,但这并不复杂。 thinkvitamin.com链接很好地解释了如何添加和保存元框。 sltaylor.co.uk链接是有关使用一些出色的编码实践的出色教程。我的警告是使用save_post挂钩时要小心。它被称为在怪异的时间。确保将WP_DEBUG变量设置为true,以查看使用它时可能出现的错误。
– tollmanz
2011年5月13日下午3:51
只是我使用了thinkvitamin链接进行了一次更新,这极大地帮助了我,这对于设置自定义字段是一个轻松的步伐
–xLRDxREVENGEx
2011年5月13日23:31
这个答案如何?链接?真?
–曼谷
20 Nov 24 '19:37
#2 楼
添加/编辑supports
参数(使用register_post_type
时),以包括custom-fields
来发布您自定义帖子类型的编辑屏幕: wordpress.org/Using_Custom_Fields#Displaying_Custom_Fields 评论
您能解释一下为什么这可以解决问题吗?
– s_ha_dum
13年4月23日在14:57
是的,这可行。谁-1回答了。你能把它取回来吗?问候,
–Junaid Qadir Shekhanzai
13年7月25日在8:59
...接着.........?
–马克
16-10-26在18:33
这不会解决问题,因为OP询问如何添加经过特殊格式设置的自定义字段(“下拉列表和单行文本区域”),而不启用WordPress的通用“自定义字段”功能。
– tog22
20-10-4在3:18
#3 楼
尽管您必须添加一些验证,但是对于当前版本的WordPress,此操作似乎并不复杂。基本上,您需要两个步骤才能将自定义字段添加到自定义帖子类型:
创建一个保存自定义字段的元框
将自定义字段保存到数据库中
这些步骤在此处进行了全局描述:http:// wordpress。 org / support / topic /是否可以向自定义帖子类型添加额外字段
示例:
添加将名为“功能”的自定义字段更改为称为“前缀-teammembers”的自定义帖子类型。
首先添加元框:您添加或编辑“ prefix-teammembers”会触发
add_meta_boxes_{custom_post_type}
挂钩。有关add_meta_box()
函数,请参见http://codex.wordpress.org/Function_Reference/add_meta_box。在上面的add_meta_box()
调用中是prefix_teammembers_metaboxes_html
,这是一个添加表单字段的回调:保存save_post_{custom_post_type}
钩子后会被触发(自3.7版起,请参见:https://stackoverflow.com/questions/5151409/wordpress-save-post-action-for-custom-posts)。您可以挂钩以保存您的自定义字段:function prefix_teammembers_metaboxes( ) {
global $wp_meta_boxes;
add_meta_box('postfunctiondiv', __('Function'), 'prefix_teammembers_metaboxes_html', 'prefix_teammembers', 'normal', 'high');
}
add_action( 'add_meta_boxes_prefix-teammembers', 'prefix_teammembers_metaboxes' );
评论
“为什么添加新内容会触发prefix_teammembers_save_post?”您找到答案了吗,我也绊在了我不记得的额外功能触发器上?
– alex
15年2月18日在5:15
“将名为“函数”的自定义字段添加到名为“ prefix-teammembers”的自定义帖子类型。”“被称为”是什么意思?名称?singular_name?标签?也许是用作register_post_type中第一个参数的字符串函数,或者只要它是一致的,也许无关紧要。
– arnoldbird
19-10-7在17:29
#4 楼
自定义元框和自定义字段有各种插件。如果您查看的是针对开发人员的插件,则应尝试使用Meta Box。它轻巧且功能强大。如果您正在寻找有关如何为元框/自定义字段编写代码的教程,那么这是一个不错的开始。这是该系列的第一部分,可以帮助您优化代码以使其易于扩展。
#5 楼
我知道这个问题很旧,但是有关主题的更多信息WordPress内置了对自定义字段的支持。如果您具有自定义帖子类型,则只需在register_post_type内的支持数组中包括“ custom-fields”(由@kubante
回答)请注意,此选项也可用于本机帖子类型,例如帖子和页面您只需要打开它即可。
现在,此自定义字段非常基础,可以接受字符串作为值。在很多情况下都可以,但是对于更复杂的字段,我建议您使用“高级自定义字段”插件
#6 楼
// slider_metaboxes_html , function for create HTML
function slider_metaboxes( ) {
global $wp_meta_boxes;
add_meta_box('postfunctiondiv', __('Custom link'), 'slider_metaboxes_html', 'slider', 'normal', 'high');
}
//add_meta_boxes_slider => add_meta_boxes_{custom post type}
add_action( 'add_meta_boxes_slider', 'slider_metaboxes' );
完美的知识
评论
使用wordpress.org/extend/plugins/types