WordPress自定义字段面板添加教程
文章目录
需求说明
在WordPress中编写文章时,我们经常需要添加一些自定义字段,比如网页描述 (description) 和关键词 (keywords)。通常,我们需要手动在“自定义字段”模块中选择字段并输入值,这个过程略显繁琐。为了提高效率,我们可以创建一个单独的面板,直接在文章编辑页面中填写这些自定义字段。下面是具体的实现步骤。
详细步骤
一、创建需要的字段信息
在 functions.php
文件中定义需要的自定义字段信息。以下示例中添加了两个自定义字段:_description_value 和 _keywords_value。
$new_meta_boxes = array( "description" => array( "name" => "_description", "std" => "这里填默认的网页描述", "title" => "网页描述:" ), "keywords" => array( "name" => "_keywords", "std" => "这里填默认的网页关键字", "title" => "关键字:" ) );
二、创建自定义字段输入框
添加一个函数用于创建自定义字段输入框:
function new_meta_boxes() { global $post, $new_meta_boxes; foreach($new_meta_boxes as $meta_box) { $meta_box_value = get_post_meta($post->ID, $meta_box['name'].'_value', true); if($meta_box_value == "") $meta_box_value = $meta_box['std']; // 自定义字段标题 echo '<h3>' . $meta_box['title'] . '</h3>'; // 自定义字段输入框 echo '<textarea cols="60" rows="3" name="' . $meta_box['name'] . '_value">' . $meta_box_value . '</textarea><br />'; } echo '<input type="hidden" name="ludou_metaboxes_nonce" id="ludou_metaboxes_nonce" value="' . wp_create_nonce(plugin_basename(__FILE__)) . '" />'; }
三、创建自定义字段模块
在文章编辑页添加自定义字段模块:
function create_meta_box() { if (function_exists('add_meta_box')) { add_meta_box('new-meta-boxes', '自定义模块', 'new_meta_boxes', 'post', 'normal', 'high'); } }
四、保存文章数据
添加一个函数用于保存自定义字段中的数据:
function save_postdata($post_id) { global $new_meta_boxes; if (!wp_verify_nonce($_POST['ludou_metaboxes_nonce'], plugin_basename(__FILE__))) return; if (!current_user_can('edit_posts', $post_id)) return; foreach($new_meta_boxes as $meta_box) { $data = $_POST[$meta_box['name'] . '_value']; if ($data == "") delete_post_meta($post_id, $meta_box['name'] . '_value', get_post_meta($post_id, $meta_box['name'] . '_value', true)); else update_post_meta($post_id, $meta_box['name'] . '_value', $data); } }
五、将函数连接到指定action(动作)
将创建和保存自定义字段的函数连接到 WordPress 的 admin_menu
和 save_post
动作:
add_action('admin_menu', 'create_meta_box'); add_action('save_post', 'save_postdata');
使用自定义字段
现在可以在你的主题中调用这些自定义字段了。比如,在 header.php
中添加以下代码来设置网页的 description 和 keywords 标签:
<?php if (is_single()) { // 自定义字段名称为 description_value $description = get_post_meta($post->ID, "_description_value", true); // 自定义字段名称为 keywords_value $keywords = get_post_meta($post->ID, "_keywords_value", true); // 去除不必要的空格和HTML标签 $description = trim(strip_tags($description)); $keywords = trim(strip_tags($keywords)); echo '<meta name="description" content="' . $description . '" />'; echo '<meta name="keywords" content="' . $keywords . '" />'; } ?>
通过以上步骤,我们成功地在WordPress中创建了一个自定义字段面板,并将其添加到文章编辑页,方便填写和保存描述和关键词等信息。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至123@#-@12-3.com举报,一经查实,本站将立刻删除。
共有 30 条评论