wordpress addmetabox
时间 : 2023-12-25 21:13:02 声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性
最佳答案
在WordPress中,可以通过添加元框(Meta Box)来向文章、页面或自定义帖类型添加额外的内容和功能。元框可以允许用户输入和保存自定义字段、选项和元数据。
为了在WordPress中添加元框,可以按照以下步骤进行操作:
1. 创建一个函数,用于添加自定义元框。可在主题的functions.php文件中添加以下代码:
```php
function 添加自定义元框() {
add_meta_box(
'custom_meta_box', // 元框的唯一标识符
'自定义元框', // 元框的标题
'显示自定义元框', // 显示元框内容的回调函数
'post', // 元框所应用的文章类型
'normal', // 元框的位置(normal,side或advanced)
'high' // 元框的优先级(high,core,default或low)
);
}
add_action('add_meta_boxes', '添加自定义元框');
2. 创建回调函数来显示自定义元框的内容。可在主题的functions.php文件中添加以下代码:
```php
function 显示自定义元框($post) {
// 获取保存在元数据中的值
$custom_value = get_post_meta($post->ID, 'custom_meta_box_key', true);
// 显示输入字段
echo '<label for="custom_meta_box_field">自定义字段:</label>';
echo '<input type="text" id="custom_meta_box_field" name="custom_meta_box_name" value="' . esc_attr($custom_value) . '" />';
}
3. 创建一个函数来保存自定义元框的值。可在主题的functions.php文件中添加以下代码:
```php
function 保存自定义元框($post_id) {
// 检查非自动保存的时候是否有权限
if (!current_user_can('edit_post', $post_id)) {
return;
}
// 检查是否设置了自定义字段
if (!isset($_POST['custom_meta_box_name'])) {
return;
}
// 过滤和处理输入的值
$custom_value = sanitize_text_field($_POST['custom_meta_box_name']);
// 更新保存在元数据中的值
update_post_meta($post_id, 'custom_meta_box_key', $custom_value);
}
add_action('save_post', '保存自定义元框');
以上步骤完成后,你就成功在WordPress中添加了一个自定义元框。你可以根据需要修改元框的标识符、标题、显示内容和保存字段的键名。在文章编辑页面,你会看到添加的元框,并且可以输入和保存自定义字段的值。
请记住,为了确保功能正常,你需要在WordPress后台编辑文章时使用正确的用户权限。此外,你可以根据需求和喜好对元框的样式和功能进行自定义。
其他答案
WordPress中添加自定义metabox是一种很常见的需求,它可以让我们在文章、页面或者自定义内容类型的编辑页面中添加自定义的字段,并且保存这些字段的值。下面是一个简单的示例,展示如何在WordPress中添加metabox。
首先,在你的主题或者插件的functions.php文件中,使用以下代码添加metabox:
// 添加metabox
function my_custom_metabox() {
add_meta_box(
'my_metabox',
'自定义Metabox',
'my_metabox_callback',
'post', // 指定metabox应该显示在哪种内容类型中,这里是文章
'normal', // 指定metabox应该显示在编辑页面的哪个位置
'high' // 指定metabox的优先级
);
}
add_action('add_meta_boxes', 'my_custom_metabox');
// metabox回调函数
function my_metabox_callback($post) {
// 获取已保存的值
$value = get_post_meta($post->ID, 'my_metabox_field', true);
// 输出输入框
echo '<label for="my_metabox_field">自定义字段:</label>';
echo '<input type="text" id="my_metabox_field" name="my_metabox_field" value="' . esc_attr($value) . '" />';
}
// 保存metabox的值
function save_my_metabox($post_id) {
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;
if (isset($_POST['my_metabox_field'])) {
update_post_meta($post_id, 'my_metabox_field', sanitize_text_field($_POST['my_metabox_field']));
}
}
add_action('save_post', 'save_my_metabox');
以上代码首先使用`add_meta_box`函数来添加metabox,在回调函数`my_metabox_callback`中输出metabox的内容。然后,使用`update_post_meta`函数保存metabox的值。
在以上示例代码中,metabox添加到文章编辑页面中,并且包含一个自定义字段的输入框。这个自定义字段的值将会保存在文章的meta值中,键名为`my_metabox_field`。
你可以根据自己的需求来修改metabox的内容和保存逻辑。这只是一个简单的示例,用以帮助你开始使用metabox。
希望这个示例能对你有所帮助,如果有任何问题,请随时向我提问。
下一篇
网站被post攻击宝塔面板
https/SSL证书广告优选IDC>>
推荐主题模板更多>>
推荐文章







