WordPress如何添加自定义字段面板
更新时间:2023-12-03
第一段:
在WordPress中,通过向文章、页面或其他自定义文章类型添加自定义字段,我们可以存储并显示不同的信息。在某些情况下,我们需要添加特定的自定义字段面板来包装这些信息。这是一个示例代码,用于添加具有一些自定义字段的面板。
function my_custom_meta() { add_meta_box( 'my_meta_box', __('My Custom Fields'), 'display_custom_meta_box', 'post', 'normal', 'high' ); } add_action( 'admin_init', 'my_custom_meta' );这个代码片段创建一个在文章编辑页面上的面板,所添加的自定义字段是在这个面板上面显示的。在这个代码片段中,我们通过add_meta_box函数添加了一个新的面板,在回调函数display_custom_meta_box中,我们通过以下代码添加了自定义输入框:
第二段: 我们可以使用HTML代码创建我们需要的输入框,如文本框、下拉列表等等。在这个示例代码中,我们创建了一个文本框,其中添加了一个特定的ID和名称,它们对应的是特定的自定义字段。 如果你需要具有多个字段的面板,可以在回调函数中添加更多的输入框。不过,你需要确保所有自定义字段的名称都是唯一的。
这个代码片段添加了一个新的自定义输入框,它的名称是my_special_text_2,它的值也是从WordPress数据库中获取的。 第三段: 一旦我们添加了自定义字段和面板,我们需要向WordPress保存这些值。我们可以通过以下代码实现这一目标:
function save_my_custom_meta( $post_id ) { if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return; if ( ! current_user_can( 'edit_post', $post_id ) ) return; if ( ! isset( $_POST['my_special_text'] ) ) return; if ( ! wp_verify_nonce( $_POST['my_custom_meta_nonce'], 'save_my_custom_meta' ) ) return; $my_data = sanitize_text_field( $_POST['my_special_text'] ); update_post_meta( $post_id, 'my_special_text', $my_data ); } add_action( 'save_post', 'save_my_custom_meta' );这个代码片段向WordPress添加了一个新的动作,即保存页稿的自定义字段。通过update_post_meta函数,我们可以将自定义字段的值存储到WordPress数据库中。 要注意的是,在代码中使用了wp_verify_nonce函数来验证表单请求是否合法。这是一个重要的防御措施,确保我们只能在合法请求中保存数据。 第四段: 在这个示例中,我们已经学习了如何添加自定义字段面板,以及如何保存输入框中的值。现在,让我们总结一下: - 通过add_meta_box函数添加新的自定义字段面板。 - 在面板中,使用HTML代码创建自定义输入框。 - 在保存页面时,使用update_post_meta函数将值存储到数据库中。 - 在表单提交时,使用wp_verify_nonce函数验证请求是否合法。 这些步骤可以帮助我们添加任何类型的自定义字段和面板,以及管理它们的值。同时,它也是一个非常有用的技能,尤其是在WordPress主题或插件的开发过程中。