我创建了一个简单的插件来更改车身背景颜色。但我无法检索存储颜色的变量。
<?php
/*
Plugin Name: My Plugin
Version: 1.0
License: GPL2
*/
/** Step 2 (from text above). */
add_action( \'admin_menu\', \'my_plugin_menu\' );
add_action(\'wp_head\',\'hook_css\');
// $opt_val = $opt_name = $data_field_name = null;
/** Step 1. */
function my_plugin_menu() {
add_management_page( \'My Plugin Options\', \'My Plugin\', \'manage_options\', \'my-unique-identifier\', \'my_plugin_options\' );
}
/*Step 3. */
function my_plugin_options($opt_val) {
global $opt_val, $opt_name;
//must check that the user has the required capability
if (!current_user_can(\'manage_options\'))
{
wp_die( __(\'You do not have sufficient permissions to access this page.\') );
}
// variables for the field and option names
$opt_name = \'mt_favorite_color\';
$hidden_field_name = \'mt_submit_hidden\';
$data_field_name = \'mt_favorite_color\';
// Read in existing option value from database
$opt_val = get_option( $opt_name );
// See if the user has posted us some information
// If they did, this hidden field will be set to \'Y\'
if( isset($_POST[ $hidden_field_name ]) && $_POST[ $hidden_field_name ] == \'Y\' ) {
// Read their posted value
$opt_val = $_POST[ $data_field_name ];
// Save the posted value in the database
update_option( $opt_name, $opt_val );
// Put a "settings saved" message on the screen
?>
<div class="updated"><p><strong><?php _e(\'Settings saved.\', \'menu-test\' ); ?></strong></p></div>
<?php
}
// Now display the settings editing screen
echo \'<div class="wrap">\';
// header
echo "<h2>" . __( \'Menu Test Plugin Settings\', \'menu-test\' ) . "</h2>";
// settings form
?>
<form name="form1" method="post" action="">
<input type="hidden" name="<?php echo $hidden_field_name; ?>" value="Y">
<p><?php _e("Favorite Color:", \'menu-test\' ); ?>
<input type="text" name="<?php echo $data_field_name; ?>" value="<?php echo $opt_val; ?>" size="20">
</p><hr />
<p class="submit">
<input type="submit" name="Submit" class="button-primary" value="<?php esc_attr_e(\'Save Changes\') ?>" />
</p>
</form>
</div>
<?php;
}
function hook_css() {
global $opt_val;
echo "style> body { background-color :" . $opt_val ."!important; } </style>";
}