首页 问答 正文

如何在WordPress中添加自定义字段

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

在WordPress中添加自定义字段的方法:

  1. 在文章/页面编辑页面的右上角可以找到“选项”按钮,点击进入。

  2. 在“选项”页面中选择“自定义字段”,点击添加自定义字段并设置名称和值。

  3. 保存文章或页面,自定义字段就会生效。

示例代码:

如果你需要在主题开发过程中添加自定义字段,则可以在主题的functions.php文件中添加以下代码:

function add_custom_fields_meta_box() {
  add_meta_box(
    'custom_fields_meta_box',
    'Custom Fields',
    'show_custom_fields_meta_box',
    'post',
    'normal',
    'high'
  );
}
add_action('add_meta_boxes', 'add_custom_fields_meta_box');

function show_custom_fields_meta_box() {
  global $post;
  $meta = get_post_meta($post->ID, 'custom_fields', true);
  ?>

  <input type="hidden" name="custom_fields_nonce" value="<?php echo wp_create_nonce(basename(__FILE__)); ?>">

  <p>
    <label for="custom_fields[text]">Custom Text</label>
    <br>
    <input type="text" name="custom_fields[text]" id="custom_fields[text]" class="regular-text" value="<?php if (!empty($meta['text'])) echo esc_attr($meta['text']); ?>">
  </p>

  <?php
}

function save_custom_fields($post_id) {
  // Check nonce
  if (!isset($_POST['custom_fields_nonce']) || !wp_verify_nonce($_POST['custom_fields_nonce'], basename(__FILE__)))
    return $post_id;

  // Check post type
  if (isset($_POST['post_type']) && $_POST['post_type'] == 'post') {
    if (current_user_can('edit_post', $post_id)) {
      // Save custom fields
      if (isset($_POST['custom_fields'])) {
        $meta = array(
          'text' => $_POST['custom_fields']['text']
        );

        foreach ($meta as $key => $value) {
          if (get_post_meta($post_id, $key, false))
            update_post_meta($post_id, $key, $value);
          else
            add_post_meta($post_id, $key, $value);
        }
      }
    }
  }
}
add_action('save_post', 'save_custom_fields'); 

这段代码添加了一个名为“Custom Fields”的自定义字段框,并提供了一个文本输入框。你可以根据需要添加其他类型的自定义字段。

大家谈论
    我的见解