我正在尝试制作一个插件来更改CSS文件。我的客户希望每个季节都改变颜色,我们希望做到万无一失,这样他们就不会破坏任何东西。
我已经创建了选项页面,但似乎无法使实际功能正常工作。
<?php
class SeizoensKleuren {
private $seizoens_kleuren_options;
public function __construct() {
add_action( \'admin_menu\', array( $this, \'seizoens_kleuren_add_plugin_page\' ) );
add_action( \'admin_init\', array( $this, \'seizoens_kleuren_page_init\' ) );
}
public function seizoens_kleuren_add_plugin_page() {
add_menu_page(
\'Seizoens kleuren\', // page_title
\'Seizoens kleuren\', // menu_title
\'manage_options\', // capability
\'seizoens-kleuren\', // menu_slug
array( $this, \'seizoens_kleuren_create_admin_page\' ), // function
\'dashicons-admin-appearance\', // icon_url
81 // position
);
}
public function seizoens_kleuren_create_admin_page() {
$this->seizoens_kleuren_options = get_option( \'seizoens_kleuren_option_name\' ); ?>
<div class="wrap">
<h2>Seizoens kleuren</h2>
<p>Verander hier de kleuren van de site n.a.v. het seizoen!</p>
<?php settings_errors(); ?>
<form method="post" action="options.php">
<?php
settings_fields( \'seizoens_kleuren_option_group\' );
do_settings_sections( \'seizoens-kleuren-admin\' );
submit_button();
?>
</form>
</div>
<?php }
public function seizoens_kleuren_page_init() {
register_setting(
\'seizoens_kleuren_option_group\', // option_group
\'seizoens_kleuren_option_name\', // option_name
array( $this, \'seizoens_kleuren_sanitize\' ) // sanitize_callback
);
add_settings_section(
\'seizoens_kleuren_setting_section\', // id
\'Settings\', // title
array( $this, \'seizoens_kleuren_section_info\' ), // callback
\'seizoens-kleuren-admin\' // page
);
add_settings_field(
\'seizoen_0\', // id
\'Seizoen:\', // title
array( $this, \'seizoen_0_callback\' ), // callback
\'seizoens-kleuren-admin\', // page
\'seizoens_kleuren_setting_section\' // section
);
}
public function seizoens_kleuren_sanitize($input) {
$sanitary_values = array();
if ( isset( $input[\'seizoen_0\'] ) ) {
$sanitary_values[\'seizoen_0\'] = $input[\'seizoen_0\'];
}
return $sanitary_values;
}
public function seizoens_kleuren_section_info() {
}
public function seizoen_0_callback() {
?> <select name="seizoens_kleuren_option_name[seizoen_0]" id="seizoen_0">
<?php $selected = (isset( $this->seizoens_kleuren_options[\'seizoen_0\'] ) && $this->seizoens_kleuren_options[\'seizoen_0\'] === \'lente\') ? \'selected\' : \'\' ; ?>
<option value="lente" <?php echo $selected; ?>>Lente</option>
<?php $selected = (isset( $this->seizoens_kleuren_options[\'seizoen_0\'] ) && $this->seizoens_kleuren_options[\'seizoen_0\'] === \'zomer\') ? \'selected\' : \'\' ; ?>
<option value="zomer" <?php echo $selected; ?>>Zomer</option>
<?php $selected = (isset( $this->seizoens_kleuren_options[\'seizoen_0\'] ) && $this->seizoens_kleuren_options[\'seizoen_0\'] === \'herfst\') ? \'selected\' : \'\' ; ?>
<option value="herfst" <?php echo $selected; ?>>Herfst</option>
<?php $selected = (isset( $this->seizoens_kleuren_options[\'seizoen_0\'] ) && $this->seizoens_kleuren_options[\'seizoen_0\'] === \'winter\') ? \'selected\' : \'\' ; ?>
<option value="winter" <?php echo $selected; ?>>Winter</option>
</select> <?php
}
}
if ( is_admin() )
$seizoens_kleuren = new SeizoensKleuren();
/*
* Retrieve this value with:
* $seizoens_kleuren_options = get_option( \'seizoens_kleuren_option_name\' ); // Array of All Options
* $seizoen_0 = $seizoens_kleuren_options[\'seizoen_0\']; // Seizoen:
*/
function seizoenplugin_enqueue_styles()
{
// Get the user\'s stylesheet choice from the options, default to "lente"
$seizoens_kleuren_options = get_option( \'lente\');
// Conditionally load the appropriate stylesheet
if( $seizoens_kleuren_options == \'lente\' ) {
wp_enqueue_style( \'seizoenplugin-lente\', plugins_url( \'/css/lente.css\', __FILE__ ) );
} elseif( $seizoens_kleuren_options == \'zomer\') {
wp_enqueue_style( \'seizoenplugin-zomer\', plugins_url( \'/css/zomer.css\', __FILE__ ) );
} elseif( $seizoens_kleuren_options == \'herfst\') {
wp_enqueue_style( \'seizoenplugin-herfst\', plugins_url( \'/css/herfst.css\', __FILE__ ) );
} elseif( $seizoens_kleuren_options == \'winter\') {
wp_enqueue_style( \'seizoenplugin-winter\', plugins_url( \'/css/winter.css\', __FILE__ ) );
}
}
add_action(\'admin_enqueue_scripts\', \'seizoenplugin_enqueue_styles\' );
?>
任何帮助都将不胜感激:)。干杯