首页 问答 正文

如何在wordpress主题中添加自定义字段?

注册会员 / 悠然自学 / 2023-06-11/ 浏览 79 次

在WordPress主题中添加自定义字段可以使用add_meta_box函数来实现。以下是示例代码:

// 添加自定义字段的回调函数
function add_custom_meta_box() {
  add_meta_box(
    'custom_meta_box', // ID
    '自定义字段', // 标题
    'show_custom_meta_box', // 回调函数
    'post', // 仅对文章添加自定义字段
    'normal', // 放置位置
    'default' // 其他参数(无需理会)
  );
}

// 显示自定义字段的回调函数
function show_custom_meta_box() {
  global $post;

  // 获取已保存的值
  $custom_value = get_post_meta($post->ID, 'custom_value', true);

  // 显示表单控件
  echo '<label for="custom_value">自定义字段:</label>';
  echo '<input type="text" id="custom_value" name="custom_value" value="'.$custom_value.'">';
}

// 保存自定义字段的回调函数
function save_custom_meta_box($post_id) {
  // 检查是否是自动保存
  if(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;

  // 检查权限
  if(!current_user_can('edit_post', $post_id)) return;

  // 保存值
  if(isset($_POST['custom_value'])) {
    update_post_meta($post_id, 'custom_value', sanitize_text_field($_POST['custom_value']));
  }
}

// 添加钩子
add_action('add_meta_boxes', 'add_custom_meta_box');
add_action('save_post', 'save_custom_meta_box'); 

以上代码将添加一个名为“自定义字段”的自定义字段,可以在文章编辑页中使用。可以根据需要修改以下内容:

  • 将'post'改为其他文章类型,例如'page'或'product'
  • 根据需要修改自定义字段的ID和标题
  • 修改显示和保存自定义字段的表单控件
大家谈论
    我的见解