tag in the document head, and expect WordPress to
* provide it for us.
*/
add_theme_support('title-tag');
/*
* Enable support for Post Thumbnails on posts and pages.
*
* @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/
*/
add_theme_support('post-thumbnails');
// This theme uses wp_nav_menu() in two locations.
register_nav_menus(
array(
'menu-1' => __('Primary', 'wowpress'),
'menu-2' => __('Footer Menu', 'wowpress'),
)
);
/*
* Switch default core markup for search form, comment form, and comments
* to output valid HTML5.
*/
add_theme_support(
'html5',
array(
'search-form',
'comment-form',
'comment-list',
'gallery',
'caption',
'style',
'script',
)
);
// Add theme support for selective refresh for widgets.
add_theme_support('customize-selective-refresh-widgets');
// Add support for editor styles.
add_theme_support('editor-styles');
// Enqueue editor styles.
add_editor_style('style-editor.css');
add_editor_style('style-editor-extra.css');
// Add support for responsive embedded content.
add_theme_support('responsive-embeds');
// Remove support for block templates.
remove_theme_support('block-templates');
}
endif;
if (!function_exists('wowpress_database')) :
function wowpress_database()
{
global $wpdb;
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta([
CreateCharacterTable::sql(),
CreateCacheTable::sql(),
CreateRaidTable::sql(),
CreateSignupTable::sql(),
CreateSKSTable::sql(),
CreateLogTable::sql(),
]);
}
endif;
add_action('after_setup_theme', 'wowpress_setup');
add_action('after_switch_theme', 'wowpress_database');
/**
* Register widget area.
*
* @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar
*/
function wowpress_widgets_init()
{
register_sidebar(
array(
'name' => __('Header', 'wowpress'),
'id' => 'top-widgets',
'description' => __('Add widgets here to appear on the header.', 'wowpress'),
'before_widget' => '',
'before_title' => '
',
)
);
register_sidebar(
array(
'name' => __('Linke Seite', 'wowpress'),
'id' => 'left-widgets',
'description' => __('Add widgets here to appear on the left side.', 'wowpress'),
'before_widget' => '',
'before_title' => '',
)
);
register_sidebar(
array(
'name' => __('Rechte Seite', 'wowpress'),
'id' => 'right-widgets',
'description' => __('Add widgets here to appear on the right side.', 'wowpress'),
'before_widget' => '',
'before_title' => '',
)
);
register_sidebar(
array(
'name' => __('Footer', 'wowpress'),
'id' => 'bottom-widgets',
'description' => __('Add widgets here to appear in your footer.', 'wowpress'),
'before_widget' => '',
'before_title' => '',
)
);
}
add_action('widgets_init', 'wowpress_widgets_init');
/**
* Enqueue scripts and styles.
*/
function wowpress_scripts()
{
wp_enqueue_style('wowpress-style', get_stylesheet_uri(), array(), WOWPRESS_VERSION);
wp_enqueue_script('wowpress-script', get_template_directory_uri() . '/js/script.min.js', array(), WOWPRESS_VERSION, true);
if (is_singular() && comments_open() && get_option('thread_comments')) {
wp_enqueue_script('comment-reply');
}
}
add_action('wp_enqueue_scripts', 'wowpress_scripts');
/**
* Enqueue the block editor script.
*/
function wowpress_enqueue_block_editor_script()
{
wp_enqueue_script(
'wowpress-editor',
get_template_directory_uri() . '/js/block-editor.min.js',
array(
'wp-blocks',
'wp-edit-post',
),
WOWPRESS_VERSION,
true
);
}
add_action('enqueue_block_editor_assets', 'wowpress_enqueue_block_editor_script');
/**
* Enqueue the script necessary to support Tailwind Typography in the block
* editor, using an inline script to create a JavaScript array containing the
* Tailwind Typography classes from WOWPRESS_TYPOGRAPHY_CLASSES.
*/
function wowpress_enqueue_typography_script()
{
if (is_admin()) {
wp_enqueue_script(
'wowpress-typography',
get_template_directory_uri() . '/js/tailwind-typography-classes.min.js',
array(
'wp-blocks',
'wp-edit-post',
),
WOWPRESS_VERSION,
true
);
wp_add_inline_script('wowpress-typography', "tailwindTypographyClasses = '" . esc_attr(WOWPRESS_TYPOGRAPHY_CLASSES) . "'.split(' ');", 'before');
}
}
add_action('enqueue_block_assets', 'wowpress_enqueue_typography_script');
/**
* Add the Tailwind Typography classes to TinyMCE.
*
* @param array $settings TinyMCE settings.
* @return array
*/
function wowpress_tinymce_add_class($settings)
{
$settings['body_class'] = WOWPRESS_TYPOGRAPHY_CLASSES;
return $settings;
}
add_filter('tiny_mce_before_init', 'wowpress_tinymce_add_class');
/**
* Custom template tags for this theme.
*/
require get_template_directory() . '/inc/template-tags.php';
/**
* Functions which enhance the theme by hooking into WordPress.
*/
require get_template_directory() . '/inc/template-functions.php';
require get_template_directory() . '/inc/config-functions.php';
/**
* Hide Admin Bar
*/
add_filter('show_admin_bar', '__return_false');
/**
* Variable initialization
*/
// Show Widgets
$GLOBALS['wowpress']['sidebar'] = [
'left' => true,
'right' => true,
'top' => true,
'bottom' => true,
];
// Colors
$GLOBALS['wowpress']['theme'] = json_decode(file_get_contents(get_template_directory() . "/theme.json"), true);
/**
* Custom rewrite rules
*/
require get_template_directory() . '/inc/config-routing.php';
/**
* Neue Werte für Kategorien
*/
function wowpress_color_picker_scripts()
{
wp_enqueue_style('wp-color-picker');
wp_enqueue_script('cp-active', get_template_directory_uri() . "/plugins/cp-active.js", array('wp-color-picker'), false, true);
}
add_action('admin_enqueue_scripts', 'wowpress_color_picker_scripts');
add_action('category_add_form_fields', 'wowpress_add_category_meta', 10, 2);
function wowpress_add_category_meta($taxonomy)
{
$colors = $GLOBALS['wowpress']['theme']['settings']['color']['palette'];
?>
term_id, 'color', true);
?>
|
|
";
var_dump($vars);
echo "";
exit;
}
function set_sidebar_status($location, bool $active = true)
{
switch ($location) {
case 'top':
$GLOBALS['wowpress']['sidebar']['top'] = $active;
break;
case 'left':
$GLOBALS['wowpress']['sidebar']['left'] = $active;
break;
case 'right':
$GLOBALS['wowpress']['sidebar']['right'] = $active;
break;
case 'bottom':
$GLOBALS['wowpress']['sidebar']['bottom'] = $active;
break;
}
}
function get_sidebar_status($location)
{
switch ($location) {
case 'top':
return $GLOBALS['wowpress']['sidebar']['top'];
break;
case 'left':
return $GLOBALS['wowpress']['sidebar']['left'];
break;
case 'right':
return $GLOBALS['wowpress']['sidebar']['right'];
break;
case 'bottom':
return $GLOBALS['wowpress']['sidebar']['bottom'];
break;
}
return false;
}
/** Roles */
set_roles();
setGlobalUser();
/** Widgets */
$widget_raid_signup = new RaidSignup();
$widget_boss_kills = new BossKills();
$widget_char_search = new CharacterSearch();
/** Avatar Filters */
add_filter('get_avatar_url', '\WoWPress\Models\User::getAvatar', 10, 3);
add_filter('asgarosforum_filter_username', '\WoWPress\Models\User::getUsername', 10, 2);
/** Login redirect */
add_filter('login_redirect', fn() => "/");
function sanitize($word){
$char = new Character();
return $char->sanitize($word);
}