我想知道如何在WordPress特定的页面管理中添加meta\\u框,我的意思是,当我用下面源代码教程提供的代码片段创建meta\\u框时,它确实是完美和有效的,但我需要控制的一件事是,只在特定的页面中显示meta\\u框,例如:假设我在WordPress项目中有两个名为Home和About的页面。
默认情况下,当我创建meta_框时,我添加的meta_框将显示在同一个页面管理后端,当我单击“主页”和“关于页面”的编辑按钮时,我的meta框将显示在这两个页面中。我想要的是,当我单击编辑页面时,使meta\\u框仅显示在“主页”管理后端页面中。
我的目标是在每个不同的页面上设置不同的meta\\u框,这意味着用户特别是博客编辑,当他们在每个页面上单击编辑按钮时,希望在不同的页面上设置不同的meta\\u框,这是我无法解决的问题,你能帮我解决这个问题吗
/*
Plugin Name: Meta Box Example
Description: Example demonstrating how to add Meta Boxes.
Plugin URI: https://plugin-planet.com/
Author: Jeff Starr
Version: 1.0
*/
// register meta box
function myplugin_add_meta_box() {
$post_types = array( \'post\', \'page\' );
foreach ( $post_types as $post_type ) {
add_meta_box(
\'myplugin_meta_box\', // Unique ID of meta box
\'MyPlugin Meta Box\', // Title of meta box
\'myplugin_display_meta_box\', // Callback function
$post_type // Post type
);
}
}
add_action( \'add_meta_boxes\', \'myplugin_add_meta_box\' );
// display meta box
function myplugin_display_meta_box( $post ) {
$value = get_post_meta( $post->ID, \'_myplugin_meta_key\', true );
wp_nonce_field( basename( __FILE__ ), \'myplugin_meta_box_nonce\' );
?>
<label for="myplugin-meta-box">Field Description</label>
<select id="myplugin-meta-box" name="myplugin-meta-box">
<option value="">Select option...</option>
<option value="option-1" <?php selected( $value, \'option-1\' ); ?>>Option 1</option>
<option value="option-2" <?php selected( $value, \'option-2\' ); ?>>Option 2</option>
<option value="option-3" <?php selected( $value, \'option-3\' ); ?>>Option 3</option>
</select>
<?php
}
// save meta box
function myplugin_save_meta_box( $post_id ) {
$is_autosave = wp_is_post_autosave( $post_id );
$is_revision = wp_is_post_revision( $post_id );
$is_valid_nonce = false;
if ( isset( $_POST[ \'myplugin_meta_box_nonce\' ] ) ) {
if ( wp_verify_nonce( $_POST[ \'myplugin_meta_box_nonce\' ], basename( __FILE__ ) ) ) {
$is_valid_nonce = true;
}
}
if ( $is_autosave || $is_revision || !$is_valid_nonce ) return;
if ( array_key_exists( \'myplugin-meta-box\', $_POST ) ) {
update_post_meta(
$post_id, // Post ID
\'_myplugin_meta_key\', // Meta key
sanitize_text_field( $_POST[ \'myplugin-meta-box\' ] ) // Meta value
);
}
}
add_action( \'save_post\', \'myplugin_save_meta_box\' );
是否有任何条件或功能可供您推荐?