WordPress 网站添加文章自定义字段填写面板方法
在 WordPress 网站添加文章自定义字段填写面板有多种方法,下面为你详细介绍几种常见的方式。
WordPress 本身自带了自定义字段功能,你可以按照以下步骤启用和使用:
收起
php
ACF 是一款非常流行的插件,能让你轻松创建自定义字段组和字段,操作步骤如下:
收起
php
如果你想通过代码来实现,可在主题的
收起
php
上述代码创建了一个自定义字段元框,其中包含一个 “副标题” 字段。你可以根据需求修改字段名称和类型。同样,在主题模板文件中使用
方法一:使用默认自定义字段功能
WordPress 本身自带了自定义字段功能,你可以按照以下步骤启用和使用:
- 启用自定义字段:
- 打开一篇文章进行编辑。
- 点击右上角的 “三个点” 图标,在弹出的菜单中选择 “选项”。
- 在 “选项” 窗口中,勾选 “自定义字段”,此时编辑界面会显示 “自定义字段” 模块。
- 添加自定义字段:
- 在 “自定义字段” 模块中,点击 “添加新字段”。
- 在 “名称” 输入框中填写自定义字段的名称,例如 “subtitle”(副标题)。
- 在 “值” 输入框中填写该字段对应的值,比如具体的副标题内容。
- 点击 “添加自定义字段” 按钮,该字段就会保存到文章中。
- 调用自定义字段内容:
在主题模板文件(如single.php
)中,使用get_post_meta()
函数获取自定义字段的值。示例代码如下:
收起
php
$subtitle = get_post_meta( get_the_ID(), 'subtitle', true );
if ( $subtitle ) {
echo '<p class="subtitle">' . esc_html( $subtitle ) . '</p>';
}
方法二:使用 Advanced Custom Fields(ACF)插件
ACF 是一款非常流行的插件,能让你轻松创建自定义字段组和字段,操作步骤如下:
- 安装和激活插件:
- 登录 WordPress 后台,导航到 “插件” -> “添加新插件”。
- 在搜索框中输入 “Advanced Custom Fields”,找到该插件后点击 “安装现在”,然后激活。
- 创建自定义字段组:
- 激活插件后,在后台菜单中会出现 “自定义字段” 选项,点击进入。
- 点击 “添加新字段组”,为字段组命名,例如 “文章额外信息”。
- 点击 “添加字段”,设置字段的标签(用于显示在编辑界面)、名称(用于代码调用)、字段类型(如文本、文本区域、图像等)等信息。完成一个字段设置后,点击 “添加字段” 继续添加其他字段。
- 设置字段组的显示规则,例如选择 “文章类型” 等于 “文章”,这样该字段组就会在文章编辑页面显示。
- 点击 “保存字段组”。
- 使用自定义字段:
- 打开一篇文章进行编辑,你会看到新创建的自定义字段组。在相应字段中填写内容并保存文章。
- 在主题模板文件中,使用
get_field()
函数获取字段值。示例代码如下:
收起
php
$subtitle = get_field( 'subtitle' );
if ( $subtitle ) {
echo '<p class="subtitle">' . esc_html( $subtitle ) . '</p>';
}
方法三:通过代码手动创建自定义字段面板
如果你想通过代码来实现,可在主题的
functions.php
文件中添加以下代码:收起
php
// 添加自定义字段元框
function custom_post_meta_box() {
add_meta_box(
'custom_post_meta', // 元框 ID
'自定义字段面板', // 元框标题
'render_custom_post_meta_box', // 回调函数,用于渲染元框内容
'post', // 应用到的文章类型
'normal', // 元框位置
'default' // 优先级
);
}
add_action( 'add_meta_boxes', 'custom_post_meta_box' );
// 渲染自定义字段元框内容
function render_custom_post_meta_box( $post ) {
// 获取已保存的自定义字段值
$subtitle = get_post_meta( $post->ID, 'subtitle', true );
// 输出非ce认证字段
wp_nonce_field( 'custom_post_meta_nonce', 'custom_post_meta_nonce_field' );
// 输出表单元素
echo '<label for="subtitle">副标题:</label>';
echo '<input type="text" id="subtitle" name="subtitle" value="' . esc_attr( $subtitle ) . '" />';
}
// 保存自定义字段值
function save_custom_post_meta( $post_id ) {
// 检查是否为自动保存
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;
// 检查用户权限
if ( ! current_user_can( 'edit_post', $post_id ) ) return;
// 验证非ce认证
if ( ! isset( $_POST['custom_post_meta_nonce_field'] ) ||! wp_verify_nonce( $_POST['custom_post_meta_nonce_field'], 'custom_post_meta_nonce' ) ) return;
// 保存自定义字段值
if ( isset( $_POST['subtitle'] ) ) {
update_post_meta( $post_id, 'subtitle', sanitize_text_field( $_POST['subtitle'] ) );
}
}
add_action( 'save_post', 'save_custom_post_meta' );
上述代码创建了一个自定义字段元框,其中包含一个 “副标题” 字段。你可以根据需求修改字段名称和类型。同样,在主题模板文件中使用
get_post_meta()
函数获取字段值。
仍然有问题? 我们要如何帮助您?