在WordPress中,可以使用自定义字段(meta fields)来存储额外的信息。以下是如何使用PHP函数get_post_meta()
来获取和显示自定义字段的例子:
首先,确保你有一个自定义字段键(key)。例如,如果你添加了一个名为_my_custom_field
的自定义字段,你可以这样获取和显示它的值:
// 假设你已经有了一个WordPress $post对象
$post_id = $post->ID; // 获取文章ID
// 获取自定义字段的值
$custom_field_value = get_post_meta($post_id, '_my_custom_field', true);
// 显示自定义字段的值
echo $custom_field_value;
如果你想在WordPress的后台编辑页面上添加自定义字段,你可以使用add_meta_box()
函数。以下是一个添加自定义字段的例子:
复制下面的代码到 wordpress 主题的 functions.php 文件中。
function add_custom_field_metabox() {
add_meta_box('my_custom_field_metabox', 'My Custom Field', 'render_custom_field_metabox', 'post', 'normal', 'high');
}
add_action('add_meta_boxes', 'add_custom_field_metabox');
function render_custom_field_metabox($post) {
// 非持久化非公开输出
wp_nonce_field('my_custom_field_nonce', 'my_custom_field_nonce');
// 获取现有的自定义字段值
$value = get_post_meta($post->ID, '_my_custom_field', true);
?>
<label for="my_custom_field">My Custom Field</label>
<input type="text" name="my_custom_field" id="my_custom_field" value="<?php echo esc_attr($value); ?>">
<?php
}
function save_custom_field_metabox($post_id) {
// 安全检查
if (!isset($_POST['my_custom_field_nonce']) || !wp_verify_nonce($_POST['my_custom_field_nonce'], 'my_custom_field_nonce')) {
return;
}
// 确保用户有权限保存数据
if (!current_user_can('edit_post', $post_id)) {
return;
}
// 读取数据并保存
$data = sanitize_text_field($_POST['my_custom_field']);
update_post_meta($post_id, '_my_custom_field', $data);
}
add_action('save_post', 'save_custom_field_metabox');
这段代码将会添加一个名为“My Custom Field”的自定义字段到所有帖子的后台编辑页面,并且能够保存和检索这个字段的值。