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(), CreateComplaintTable::sql(), CreateNotificationTable::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' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __('Linke Seite', 'wowpress'), 'id' => 'left-widgets', 'description' => __('Add widgets here to appear on the left side.', 'wowpress'), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __('Rechte Seite', 'wowpress'), 'id' => 'right-widgets', 'description' => __('Add widgets here to appear on the right side.', 'wowpress'), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __('Footer', 'wowpress'), 'id' => 'bottom-widgets', 'description' => __('Add widgets here to appear in your footer.', 'wowpress'), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_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(); $widget_teamspeak = new Teamspeak(); $widget_bday = new Birthdays(); /** 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); }