ID, '_cw_enabled', true);
$warnings = get_post_meta($post->ID, '_cw_warnings', true);
wp_nonce_field('cw_meta_box', 'cw_meta_box_nonce');
?>
' . $content . '';
}
);
// Add styles
add_action(
'wp_head', function () {
$bg = esc_attr(get_option('cw_bg_color', '#1E1F22'));
$overlay_bg = esc_attr(get_option('cw_overlay_bg_color', '#2E3035'));
$font = esc_attr(get_option('cw_font_size', '1.1em'));
$btn = esc_attr(get_option('cw_button_color', '#9E93DC'));
$btn_hover = esc_attr(get_option('cw_button_hover_color', '#8179d5'));
echo "
";
}
);
// Settings menu
add_action(
'admin_menu', function () {
add_options_page('Better Content Warning Settings', 'Better Content Warning', 'manage_options', 'cw-settings', 'cw_settings_page');
}
);
// Add settings link to plugin page
add_filter(
'plugin_action_links_' . plugin_basename(__FILE__), function ($links) {
$settings_link = 'Settings';
array_unshift($links, $settings_link);
return $links;
}
);
// Register settings
add_action(
'admin_init', function () {
register_setting('cw_settings_group', 'cw_prefix');
register_setting('cw_settings_group', 'cw_default_message');
register_setting('cw_settings_group', 'cw_button_text');
register_setting('cw_settings_group', 'cw_exit_button_text');
register_setting('cw_settings_group', 'cw_font_size');
register_setting('cw_settings_group', 'cw_bg_color');
register_setting('cw_settings_group', 'cw_overlay_bg_color');
register_setting('cw_settings_group', 'cw_button_color');
register_setting('cw_settings_group', 'cw_button_hover_color');
register_setting('cw_settings_group', 'cw_show_to_admins');
register_setting('cw_settings_group', 'cw_continue_button_title');
register_setting('cw_settings_group', 'cw_exit_button_title');
});
add_action('admin_enqueue_scripts', function ($hook) {
if ($hook !== 'settings_page_cw-settings') return;
wp_enqueue_style('wp-color-picker');
wp_enqueue_script('cw-color-picker-init', plugin_dir_url(__FILE__) . 'assets/js/' . 'cw-color-picker.js', ['wp-color-picker'], null, true);
}
);
// Settings page output
function cw_settings_page()
{
?>
Liberapay or Ko-fi.', 'better-content-warning')); ?>