WordPress如何添加自定义字段面板?下面这篇文章介绍了在WordPress中添加自定义字段面板的方法,希望对你有所帮助!
我们在WordPress写文章的时候,经常会用到一些自定义字段,比如两个meta标签:网页描述和关键词。对于这两个标签,大家可以看看我之前写的一篇文章:WordPress设置了独立的描述和关键词。
通常,在添加自定义字段及其值时,我们总是先去“自定义字段”模块的下拉框中选择相应的字段,然后输入其值,最后提交要等待很短的时间,这似乎有点麻烦。那么你能为这些常用的自定义字段创建一个单独的面板,直接填写内容吗?就像文章标签一样,直接添加标签就可以了,不需要单独提交。答案是肯定的,以下是效果图:
下面我教你怎么操作,下面的代码都可以放到当前主题的functions.php里。
首先,创建必需的字段信息。这里,我们将添加两个名为_description_value和_keywords_value的自定义字段。您可以在下面的数组中添加多个元素,以达到添加多个自定义字段的目的。
数组的第一个元素名是自定义字段的名称。在这段代码中,自定义字段的名称是名称值加_value,以防止与其他代码冲突,如_ description _ valueStd是自定义字段的默认值。当您发布文章时,自定义字段没有填充任何值,因此将采用默认值。标题是用户自定义字段模块的标题,如”摘要”、” quot分类”和“标签”,这些是模块名称。
$ new _ meta _ boxes = array(& quot;描述& quot= & gt数组(& quot名称& quot= & gt”_ description & quot,& quotstd & quot= & gt”在此填写默认页面描述。标题& quot= & gt”页面描述: ” ),& quot关键词& quot= & gt数组(& quot名称& quot= & gt”_关键词& quot,& quotstd & quot= & gt”在这里填写默认的网页关键字“,& quot标题& quot= & gt”关键词:“));其次,创建一个自定义字段输入框。下面的代码将用于创建一个自定义字段和一个输入框。就写吧。
函数new _ meta _ box(){ global $ post,$ new _ meta _ boxesforeach($ new _ meta _ boxes as $ meta _ box){ $ meta _ box _ value = get _ post _ meta($ post-& gt;ID,$ meta _ box[& # 39;姓名& # 39;].'_ value & # 39,真);if($ meta _ box _ value = = & quot;”)$ meta _ box _ value = $ meta _ box[& # 39;标准& # 39;];//自定义字段标题回显& # 39;& lth3 & gt'。$ meta _ box[& # 39;标题& # 39;].'& lt/H3 & gt;';//自定义字段输入框回显& # 39;& lttextarea cols = & quot60 & quotrows = & quot3 & quotname = & quot'。$ meta _ box[& # 39;姓名& # 39;].'_ value & quot& gt'。$meta_box_value。'& lt/textarea & gt;& ltbr/>;';} echo & # 39& lt输入类型= & quot隐藏& quotname = & quotludou _ metaboxes _ nonce & quotid = & quotludou _ metaboxes _ nonce & quotvalue = & quot'。WP _ create _ nonce(plugin _ basename(_ _ FILE _ _)。'”/& gt;';}第三,创建自定义字段模块。下面的代码将在文章编辑页面添加一个自定义字段模块,这个模块使用了WordPress的添加模块函数add_meta_box。这与上一篇文章WordPress文章编辑页面删除相关模块正好相反。
function create _ meta _ box(){ if(function _ exists(& # 39;add _ meta _ box & # 39)){ add _ meta _ box(& # 39;新元盒& # 39;, '自定义模块& # 39;, 'new _ meta _ boxes & # 39, '邮政& # 39;, '正常& # 39;, '高& # 39;);}}四、保存文章数据前的一切准备工作。最重要的是保存我们的自定义字段中的信息。
函数save _ postdata($ post _ id){ global $ new _ meta _ boxes;如果(!WP _ verify _ nonce($ _ POST[& # 39;ludou _ metaboxes _ nonce & # 39],plugin _ basename(_ _ FILE _ _))return;如果(!current _ user _ can(& # 39;edit _ posts & # 39,$post_id))返回;foreach($ new _ meta _ box as $ meta _ box){ $ data = $ _ POST[$ meta _ box[& # 39;姓名& # 39;].'_ value & # 39];if($ data = = & quot;”)delete_post_meta($post_id,$ meta _ box[& # 39;姓名& # 39;].'_ value & # 39,get _ post _ meta($post _ id,$meta _ box[& # 39;姓名& # 39;].'_ value & # 39,真));else update_post_meta($post_id,$ meta _ box[& # 39;姓名& # 39;].'_ value & # 39,$ data);}}五、将函数连接到指定的动作(action)这是最后也是最重要的一步。我们需要做的是将函数连接到指定的动作(action)上,这样WordPress程序就可以执行我们之前写的函数了:
add _ action(& # 39;管理菜单& # 39;, 'create _ meta _ box & # 39);add _ action(& # 39;save _ post & # 39, 'save _ postdata & # 39);好了,这就是我们要做的。现在您可以在您的主题中调用这两个自定义字段。用文本编辑器打开主题目录中的header.php,并将下面的代码复制到
& lt?Phpif (is_single()) {//用户自定义字段名为description _ value $ description = get _ post _ meta($ post-> ID,& quot_描述_值& quot,真);//自定义字段名为keywords _ value $ keywords = get _ post _ meta($ post-> ID,& quot_ keywords _ value & quot,真);//删除不必要的空格和HTML标签$ description = trim(strip _ tags($ description));$ keywords = trim(strip _ tags($ keywords));回声& # 39;& ltmeta name = & quot描述& quotcontent = & quot'。$描述。'”/& gt;& ltmeta name = & quot关键词& quotcontent = & quot'。$关键词。'”/& gt;';}?& gt推荐学习:WordPress教程
以上是对WordPress如何添加自定义字段面板的简要分析。更多信息请关注草根吧VPS其他相关文章!