diff options
Diffstat (limited to 'themes/mantra/includes/theme-setup.php')
-rw-r--r-- | themes/mantra/includes/theme-setup.php | 862 |
1 files changed, 431 insertions, 431 deletions
diff --git a/themes/mantra/includes/theme-setup.php b/themes/mantra/includes/theme-setup.php index 3502621f..5c42bdf8 100644 --- a/themes/mantra/includes/theme-setup.php +++ b/themes/mantra/includes/theme-setup.php @@ -1,432 +1,432 @@ -<?php
-/*
- * Theme setup functions. Theme initialization, theme support , widgets , navigation
- *
- * @package mantra
- * @subpackage Functions
- */
-
-/*
-// Bringing up Mantra Settings page after install
-if ( is_admin() && isset($_GET['activated'] ) && $pagenow == "themes.php" ) {
- wp_redirect( 'themes.php?page=mantra-page' );
-}
-*/
-
-$mantra_totalSize = $mantra_sidebar + $mantra_sidewidth+50;
-
- /**
-
- *
- * @package Cryout Creations
- * @subpackage mantra
- * @since mantra 0.5
- */
-
-/**
- * Set the content width based on the theme's design and stylesheet.
- *
- * Used to set the width of images and content. Should be equal to the width the theme
- * is designed for, generally via the style.css stylesheet.
- */
-if ( ! isset( $content_width ) )
- $content_width = $mantra_sidewidth;
-
-/** Tell WordPress to run mantra_setup() when the 'after_setup_theme' hook is run. */
-add_action( 'after_setup_theme', 'mantra_setup' );
-
-if ( ! function_exists( 'mantra_setup' ) ):
-/**
- * Sets up theme defaults and registers support for various WordPress features.
- *
- * Note that this function is hooked into the after_setup_theme hook, which runs
- * before the init hook. The init hook is too late for some features, such as indicating
- * support post thumbnails.
- *
- * To override mantra_setup() in a child theme, add your own mantra_setup to your child theme's
- * functions.php file.
- *
- * @uses add_theme_support() To add support for post thumbnails and automatic feed links.
- * @uses register_nav_menus() To add support for navigation menus.
- * @uses add_custom_background() To add support for a custom background.
- * @uses add_editor_style() To style the visual editor.
- * @uses load_theme_textdomain() For translation/localization support.
- * @uses add_custom_image_header() To add support for a custom header.
- * @uses register_default_headers() To register the default custom header images provided with the theme.
- * @uses set_post_thumbnail_size() To set a custom post thumbnail size.
- *
- * @since mantra 0.5
- */
-function mantra_setup() {
-
- // This theme styles the visual editor with editor-style.css to match the theme style.
- add_editor_style();
-
- // Support title tag since WP 4.1
- add_theme_support( 'title-tag' );
-
- // This theme uses post thumbnails
- add_theme_support( 'post-thumbnails' );
- set_post_thumbnail_size( 150, 150 ); // default Post Thumbnail dimensions (cropped)
-
- // Add default posts and comments RSS feed links to head
-
- add_theme_support( 'automatic-feed-links' );
- add_theme_support('post-formats', array( 'aside', 'chat', 'gallery', 'image', 'link', 'quote', 'status'));
-
- // Make theme available for translation
- // Translations can be filed in the /languages/ directory
-/**
- * Make theme available for translation
- * Translations can be filed in the /languages/ directory
- */
-load_theme_textdomain( 'mantra', get_template_directory() . '/languages' );
-
-$locale = get_locale();
-$locale_file = get_template_directory() . "/languages/$locale.php";
- if ( is_readable( $locale_file ) )
- require_once( $locale_file );
-
-
-
- // This theme uses wp_nav_menu() in 3 locations.
- register_nav_menus( array(
- 'primary' => __( 'Primary Navigation', 'mantra' ),
- 'top' => __( 'Top Navigation', 'mantra' ),
- 'footer' => __( 'Footer Navigation', 'mantra' ),
- ) );
-
- // This theme allows users to set a custom background
- add_theme_support( 'custom-background' );
-
- // We'll be using post thumbnails for custom header images on posts and pages.
- // We want them to be the same size as the header.
- // Larger images will be auto-cropped to fit, smaller ones will be ignored. See header.php.
- global $mantra_hheight;
- $mantra_hheight=(int)$mantra_hheight;
- global $mantra_totalSize;
- define( 'HEADER_IMAGE_WIDTH', apply_filters( 'mantra_header_image_width', $mantra_totalSize ) );
- define( 'HEADER_IMAGE_HEIGHT', apply_filters( 'mantra_header_image_height', $mantra_hheight) );
- //set_post_thumbnail_size( HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT, true );
- add_image_size('header',HEADER_IMAGE_WIDTH,HEADER_IMAGE_HEIGHT,true);
-
- global $mantra_fpsliderwidth;
- global $mantra_fpsliderheight;
- add_image_size('slider',$mantra_fpsliderwidth,$mantra_fpsliderheight,true);
- // Add a way for the custom header to be styled in the admin panel that controls
- // custom headers. See mantra_admin_header_style(), below.
- define( 'NO_HEADER_TEXT', true );
- add_theme_support( 'custom-header' );
-
- // ... and thus ends the changeable header business.
-
-
-// Backwards compatibility with pre 3.4 versions for custom background and header
-
- // Default custom headers packaged with the theme. %s is a placeholder for the theme template directory URI.
- register_default_headers( array(
- 'mantra' => array(
- 'url' => '%s/images/headers/mantra.png',
- 'thumbnail_url' => '%s/images/headers/mantra-thumbnail.png',
- // translators: header image description
- 'description' => __( 'mantra', 'mantra' )
- ),
- ) );
-}
-endif;
-
-// remove obsolete mantra functions action hooks
-if ( ! function_exists( 'mantra_remove_obsolete_functions' ) ) :
-function mantra_remove_obsolete_functions() {
- remove_filter( 'wp_title', 'mantra_filter_wp_title' );
- remove_filter('wp_title_rss','mantra_filter_wp_title_rss');
-}
-add_action('init','mantra_remove_obsolete_functions');
-endif;
-
-// Backwards compatibility for the title-tag
-if ( ! function_exists( '_wp_render_title_tag' ) ) :
- add_action( 'wp_head', 'mantra_render_title' );
- add_filter( 'wp_title', 'mantra_filter_wp_title2' );
- add_filter('wp_title_rss','mantra_filter_wp_title_rss2');
-endif;
-
-function mantra_render_title() { ?>
- <title><?php wp_title( '', true, 'right' ); ?></title>
-<?php }
-
-function mantra_filter_wp_title2( $title ) {
- // Get the Site Name
- $site_name = get_bloginfo( 'name' );
- // Prepend name
- $filtered_title = (((strlen($site_name)>0)&&(strlen($title)>0))?$title.' - '.$site_name:$title.$site_name);
- // Get the Site Description
- $site_description = get_bloginfo( 'description' );
- // If site front page, append description
- if ( (is_home() || is_front_page()) && $site_description ) {
- // Append Site Description to title
- $filtered_title = ((strlen($site_name)>0)&&(strlen($site_description)>0))?$site_name. " | ".$site_description:$site_name.$site_description;
- }
- // Add pagination if that's the case
- global $page, $paged;
- if ( $paged >= 2 || $page >= 2 )
- $filtered_title .= ' | ' . sprintf( __( 'Page %s', 'mantra' ), max( $paged, $page ) );
-
- // Return the modified title
- return $filtered_title;
-}
-
-function nirvana_filter_wp_title_rss2($title) {
- return ' ';
-}
-
-if ( ! function_exists( 'mantra_admin_header_style' ) ) :
-/**
- * Styles the header image displayed on the Appearance > Header admin panel.
- *
- * Referenced via add_custom_image_header() in mantra_setup().
- *
- * @since mantra 0.5
- */
-function mantra_admin_header_style() {
-?>
-<style type="text/css">
-/* Shows the same border as on front end */
-#headimg {
- border-bottom: 1px solid #000;
- border-top: 4px solid #000;
-}
-/* If NO_HEADER_TEXT is false, you would style the text with these selectors:
- #headimg #name { }
- #headimg #desc { }
-*/
-</style>
-<?php
-}
-endif;
-
-/**
- * Get our wp_nav_menu() fallback, wp_page_menu(), to show a home link.
- *
- * To override this in a child theme, remove the filter and optionally add
- * your own function tied to the wp_page_menu_args filter hook.
- *
- * @since mantra 0.5
- */
-function mantra_page_menu_args( $args ) {
- $args['show_home'] = true;
- return $args;
-}
-add_filter( 'wp_page_menu_args', 'mantra_page_menu_args' );
-
-/**
- * Create menus
- */
-
-// TOP MENU
-function mantra_top_menu() {
- if ( has_nav_menu( 'top' ) ) wp_nav_menu( array( 'container' => 'nav', 'container_class' => 'topmenu', 'theme_location' => 'top', 'depth' => 1 ) );
- }
-
- add_action ('cryout_wrapper_hook','mantra_top_menu');
-
- // MAIN MENU
- function mantra_main_menu() {
- /* Allow screen readers / text browsers to skip the navigation menu and get right to the good stuff */ ?>
-<div class="skip-link screen-reader-text"><a href="#content" title="<?php esc_attr_e( 'Skip to content', 'mantra' ); ?>"><?php _e( 'Skip to content', 'mantra' ); ?></a></div>
-<?php /* Main navigation menu. If one isn't filled out, wp_nav_menu falls back to wp_page_menu. The menu assiged to the primary position is the one used. If none is assigned, the menu with the lowest ID is used. */
-wp_nav_menu( array( 'container_class' => 'menu', 'menu_id' =>'prime_nav', 'theme_location' => 'primary' ) );
-}
-
-add_action ('cryout_access_hook','mantra_main_menu');
-
-// FOOTER MENU
- function mantra_footer_menu() {
- if ( has_nav_menu( 'footer' ) ) wp_nav_menu( array( 'container' => 'nav', 'container_class' => 'footermenu', 'theme_location' => 'footer', 'depth' => 1 ) );
- }
-
- add_action ('cryout_footer_hook','mantra_footer_menu',10);
-
-
-/**
- * Register widgetized areas, including two sidebars and four widget-ready columns in the footer.
- *
- * To override mantra_widgets_init() in a child theme, remove the action hook and add your own
- * function tied to the init hook.
- *
- * @since mantra 0.5
- * @uses register_sidebar
- */
-function mantra_widgets_init() {
- // Area 1, located at the top of the sidebar.
- register_sidebar( array(
- 'name' => __( 'Primary Widget Area - Sidebar 1', 'mantra' ),
- 'id' => 'primary-widget-area',
- 'description' => __( 'Primary widget area - Sidebar 1', 'mantra' ),
- 'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
- 'after_widget' => '</li>',
- 'before_title' => '<h3 class="widget-title">',
- 'after_title' => '</h3>',
- ) );
-
- // Area 2, located below the Primary Widget Area in the sidebar. Empty by default.
- register_sidebar( array(
- 'name' => __( 'Secondary Widget Area - Sidebar 1', 'mantra' ),
- 'id' => 'secondary-widget-area',
- 'description' => __( 'Secondary widget area - Sidebar 1', 'mantra' ),
- 'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
- 'after_widget' => '</li>',
- 'before_title' => '<h3 class="widget-title">',
- 'after_title' => '</h3>',
- ) );
-
- // Area 3 for the second sidebar. Empty be default
- register_sidebar( array(
- 'name' => __( 'Third Widget Area - Sidebar 2', 'mantra' ),
- 'id' => 'third-widget-area',
- 'description' => __( 'Third widget area - Sidebar 2', 'mantra' ),
- 'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
- 'after_widget' => '</li>',
- 'before_title' => '<h3 class="widget-title">',
- 'after_title' => '</h3>',
- ) );
-
- // Area 4, located below the Third Widget Area in the second sidebar. Empty by default.
- register_sidebar( array(
- 'name' => __( 'Fourth Widget Area - Sidebar 2', 'mantra' ),
- 'id' => 'fourth-widget-area',
- 'description' => __( 'Fourth widget area - Sidebar 2', 'mantra' ),
- 'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
- 'after_widget' => '</li>',
- 'before_title' => '<h3 class="widget-title">',
- 'after_title' => '</h3>',
- ) );
-
- // Area 5, located in the footer. Empty by default.
- register_sidebar( array(
- 'name' => __( 'First Footer Widget Area', 'mantra' ),
- 'id' => 'first-footer-widget-area',
- 'description' => __( 'First footer widget area', 'mantra' ),
- 'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
- 'after_widget' => '</li>',
- 'before_title' => '<h3 class="widget-title">',
- 'after_title' => '</h3>',
- ) );
-
- // Area 6, located in the footer. Empty by default.
- register_sidebar( array(
- 'name' => __( 'Second Footer Widget Area', 'mantra' ),
- 'id' => 'second-footer-widget-area',
- 'description' => __( 'Second footer widget area', 'mantra' ),
- 'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
- 'after_widget' => '</li>',
- 'before_title' => '<h3 class="widget-title">',
- 'after_title' => '</h3>',
- ) );
-
- // Area 7, located in the footer. Empty by default.
- register_sidebar( array(
- 'name' => __( 'Third Footer Widget Area', 'mantra' ),
- 'id' => 'third-footer-widget-area',
- 'description' => __( 'The third footer widget area', 'mantra' ),
- 'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
- 'after_widget' => '</li>',
- 'before_title' => '<h3 class="widget-title">',
- 'after_title' => '</h3>',
- ) );
-
- // Area 8, located in the footer. Empty by default.
- register_sidebar( array(
- 'name' => __( 'Fourth Footer Widget Area', 'mantra' ),
- 'id' => 'fourth-footer-widget-area',
- 'description' => __( 'The fourth footer widget area', 'mantra' ),
- 'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
- 'after_widget' => '</li>',
- 'before_title' => '<h3 class="widget-title">',
- 'after_title' => '</h3>',
- ) );
-
- // Area 9, located above the content area. Empty by default.
- register_sidebar( array(
- 'name' => __( 'Above content Widget Area', 'mantra' ),
- 'id' => 'above-content-widget-area',
- 'description' => __( 'Above content Widget Area', 'mantra' ),
- 'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
- 'after_widget' => '</li>',
- 'before_title' => '<h3 class="widget-title">',
- 'after_title' => '</h3>',
- ) );
-
- // Area 10, located below the content area. Empty by default.
- register_sidebar( array(
- 'name' => __( 'Below Content Widget Area', 'mantra' ),
- 'id' => 'below-content-widget-area',
- 'description' => __( 'Below Content Widget Area', 'mantra' ),
- 'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
- 'after_widget' => '</li>',
- 'before_title' => '<h3 class="widget-title">',
- 'after_title' => '</h3>',
- ) );
-}
-/** Register sidebars by running mantra_widgets_init() on the widgets_init hook. */
-add_action( 'widgets_init', 'mantra_widgets_init' );
-
-
-/**
- * Creates different class names for footer widgets depending on their number.
- * This way they can fit the footer area.
- */
-
-function mantra_footer_sidebar_class() {
- $count = 0;
-
- if ( is_active_sidebar( 'first-footer-widget-area' ) )
- $count++;
-
- if ( is_active_sidebar( 'second-footer-widget-area' ) )
- $count++;
-
- if ( is_active_sidebar( 'third-footer-widget-area' ) )
- $count++;
-
- if ( is_active_sidebar( 'fourth-footer-widget-area' ) )
- $count++;
-
- $class = '';
-
- switch ( $count ) {
- case '1':
- $class = 'one';
- break;
- case '2':
- $class = 'two';
- break;
- case '3':
- $class = 'three';
- break;
- case '4':
- $class = 'four';
- break;
- }
-
- if ( $class )
- echo 'class="footer' . $class . '"';
-}
-
-
- function mantra_above_widget() {
- if ( is_active_sidebar( 'above-content-widget-area' )) { ?>
- <ul class="yoyo">
- <?php dynamic_sidebar( 'above-content-widget-area' ); ?>
- </ul>
- <?php } }
-
-function mantra_below_widget() {
- if ( is_active_sidebar( 'below-content-widget-area' )) { ?>
- <ul class="yoyo">
- <?php dynamic_sidebar( 'below-content-widget-area' ); ?>
- </ul>
- <?php } }
-
-add_action ('cryout_before_content_hook','mantra_above_widget');
+<?php +/* + * Theme setup functions. Theme initialization, theme support , widgets , navigation + * + * @package mantra + * @subpackage Functions + */ + +/* +// Bringing up Mantra Settings page after install +if ( is_admin() && isset($_GET['activated'] ) && $pagenow == "themes.php" ) { + wp_redirect( 'themes.php?page=mantra-page' ); +} +*/ + +$mantra_totalSize = $mantra_sidebar + $mantra_sidewidth+50; + + /** + + * + * @package Cryout Creations + * @subpackage mantra + * @since mantra 0.5 + */ + +/** + * Set the content width based on the theme's design and stylesheet. + * + * Used to set the width of images and content. Should be equal to the width the theme + * is designed for, generally via the style.css stylesheet. + */ +if ( ! isset( $content_width ) ) + $content_width = $mantra_sidewidth; + +/** Tell WordPress to run mantra_setup() when the 'after_setup_theme' hook is run. */ +add_action( 'after_setup_theme', 'mantra_setup' ); + +if ( ! function_exists( 'mantra_setup' ) ): +/** + * Sets up theme defaults and registers support for various WordPress features. + * + * Note that this function is hooked into the after_setup_theme hook, which runs + * before the init hook. The init hook is too late for some features, such as indicating + * support post thumbnails. + * + * To override mantra_setup() in a child theme, add your own mantra_setup to your child theme's + * functions.php file. + * + * @uses add_theme_support() To add support for post thumbnails and automatic feed links. + * @uses register_nav_menus() To add support for navigation menus. + * @uses add_custom_background() To add support for a custom background. + * @uses add_editor_style() To style the visual editor. + * @uses load_theme_textdomain() For translation/localization support. + * @uses add_custom_image_header() To add support for a custom header. + * @uses register_default_headers() To register the default custom header images provided with the theme. + * @uses set_post_thumbnail_size() To set a custom post thumbnail size. + * + * @since mantra 0.5 + */ +function mantra_setup() { + + // This theme styles the visual editor with editor-style.css to match the theme style. + add_editor_style(); + + // Support title tag since WP 4.1 + add_theme_support( 'title-tag' ); + + // This theme uses post thumbnails + add_theme_support( 'post-thumbnails' ); + set_post_thumbnail_size( 150, 150 ); // default Post Thumbnail dimensions (cropped) + + // Add default posts and comments RSS feed links to head + + add_theme_support( 'automatic-feed-links' ); + add_theme_support('post-formats', array( 'aside', 'chat', 'gallery', 'image', 'link', 'quote', 'status')); + + // Make theme available for translation + // Translations can be filed in the /languages/ directory +/** + * Make theme available for translation + * Translations can be filed in the /languages/ directory + */ +load_theme_textdomain( 'mantra', get_template_directory() . '/languages' ); + +$locale = get_locale(); +$locale_file = get_template_directory() . "/languages/$locale.php"; + if ( is_readable( $locale_file ) ) + require_once( $locale_file ); + + + + // This theme uses wp_nav_menu() in 3 locations. + register_nav_menus( array( + 'primary' => __( 'Primary Navigation', 'mantra' ), + 'top' => __( 'Top Navigation', 'mantra' ), + 'footer' => __( 'Footer Navigation', 'mantra' ), + ) ); + + // This theme allows users to set a custom background + add_theme_support( 'custom-background' ); + + // We'll be using post thumbnails for custom header images on posts and pages. + // We want them to be the same size as the header. + // Larger images will be auto-cropped to fit, smaller ones will be ignored. See header.php. + global $mantra_hheight; + $mantra_hheight=(int)$mantra_hheight; + global $mantra_totalSize; + define( 'HEADER_IMAGE_WIDTH', apply_filters( 'mantra_header_image_width', $mantra_totalSize ) ); + define( 'HEADER_IMAGE_HEIGHT', apply_filters( 'mantra_header_image_height', $mantra_hheight) ); + //set_post_thumbnail_size( HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT, true ); + add_image_size('header',HEADER_IMAGE_WIDTH,HEADER_IMAGE_HEIGHT,true); + + global $mantra_fpsliderwidth; + global $mantra_fpsliderheight; + add_image_size('slider',$mantra_fpsliderwidth,$mantra_fpsliderheight,true); + // Add a way for the custom header to be styled in the admin panel that controls + // custom headers. See mantra_admin_header_style(), below. + define( 'NO_HEADER_TEXT', true ); + add_theme_support( 'custom-header' ); + + // ... and thus ends the changeable header business. + + +// Backwards compatibility with pre 3.4 versions for custom background and header + + // Default custom headers packaged with the theme. %s is a placeholder for the theme template directory URI. + register_default_headers( array( + 'mantra' => array( + 'url' => '%s/images/headers/mantra.png', + 'thumbnail_url' => '%s/images/headers/mantra-thumbnail.png', + // translators: header image description + 'description' => __( 'mantra', 'mantra' ) + ), + ) ); +} +endif; + +// remove obsolete mantra functions action hooks +if ( ! function_exists( 'mantra_remove_obsolete_functions' ) ) : +function mantra_remove_obsolete_functions() { + remove_filter( 'wp_title', 'mantra_filter_wp_title' ); + remove_filter('wp_title_rss','mantra_filter_wp_title_rss'); +} +add_action('init','mantra_remove_obsolete_functions'); +endif; + +// Backwards compatibility for the title-tag +if ( ! function_exists( '_wp_render_title_tag' ) ) : + add_action( 'wp_head', 'mantra_render_title' ); + add_filter( 'wp_title', 'mantra_filter_wp_title2' ); + add_filter('wp_title_rss','mantra_filter_wp_title_rss2'); +endif; + +function mantra_render_title() { ?> + <title><?php wp_title( '', true, 'right' ); ?></title> +<?php } + +function mantra_filter_wp_title2( $title ) { + // Get the Site Name + $site_name = get_bloginfo( 'name' ); + // Prepend name + $filtered_title = (((strlen($site_name)>0)&&(strlen($title)>0))?$title.' - '.$site_name:$title.$site_name); + // Get the Site Description + $site_description = get_bloginfo( 'description' ); + // If site front page, append description + if ( (is_home() || is_front_page()) && $site_description ) { + // Append Site Description to title + $filtered_title = ((strlen($site_name)>0)&&(strlen($site_description)>0))?$site_name. " | ".$site_description:$site_name.$site_description; + } + // Add pagination if that's the case + global $page, $paged; + if ( $paged >= 2 || $page >= 2 ) + $filtered_title .= ' | ' . sprintf( __( 'Page %s', 'mantra' ), max( $paged, $page ) ); + + // Return the modified title + return $filtered_title; +} + +function nirvana_filter_wp_title_rss2($title) { + return ' '; +} + +if ( ! function_exists( 'mantra_admin_header_style' ) ) : +/** + * Styles the header image displayed on the Appearance > Header admin panel. + * + * Referenced via add_custom_image_header() in mantra_setup(). + * + * @since mantra 0.5 + */ +function mantra_admin_header_style() { +?> +<style type="text/css"> +/* Shows the same border as on front end */ +#headimg { + border-bottom: 1px solid #000; + border-top: 4px solid #000; +} +/* If NO_HEADER_TEXT is false, you would style the text with these selectors: + #headimg #name { } + #headimg #desc { } +*/ +</style> +<?php +} +endif; + +/** + * Get our wp_nav_menu() fallback, wp_page_menu(), to show a home link. + * + * To override this in a child theme, remove the filter and optionally add + * your own function tied to the wp_page_menu_args filter hook. + * + * @since mantra 0.5 + */ +function mantra_page_menu_args( $args ) { + $args['show_home'] = true; + return $args; +} +add_filter( 'wp_page_menu_args', 'mantra_page_menu_args' ); + +/** + * Create menus + */ + +// TOP MENU +function mantra_top_menu() { + if ( has_nav_menu( 'top' ) ) wp_nav_menu( array( 'container' => 'nav', 'container_class' => 'topmenu', 'theme_location' => 'top', 'depth' => 1 ) ); + } + + add_action ('cryout_wrapper_hook','mantra_top_menu'); + + // MAIN MENU + function mantra_main_menu() { + /* Allow screen readers / text browsers to skip the navigation menu and get right to the good stuff */ ?> +<div class="skip-link screen-reader-text"><a href="#content" title="<?php esc_attr_e( 'Skip to content', 'mantra' ); ?>"><?php _e( 'Skip to content', 'mantra' ); ?></a></div> +<?php /* Main navigation menu. If one isn't filled out, wp_nav_menu falls back to wp_page_menu. The menu assiged to the primary position is the one used. If none is assigned, the menu with the lowest ID is used. */ +wp_nav_menu( array( 'container_class' => 'menu', 'menu_id' =>'prime_nav', 'theme_location' => 'primary' ) ); +} + +add_action ('cryout_access_hook','mantra_main_menu'); + +// FOOTER MENU + function mantra_footer_menu() { + if ( has_nav_menu( 'footer' ) ) wp_nav_menu( array( 'container' => 'nav', 'container_class' => 'footermenu', 'theme_location' => 'footer', 'depth' => 1 ) ); + } + + add_action ('cryout_footer_hook','mantra_footer_menu',10); + + +/** + * Register widgetized areas, including two sidebars and four widget-ready columns in the footer. + * + * To override mantra_widgets_init() in a child theme, remove the action hook and add your own + * function tied to the init hook. + * + * @since mantra 0.5 + * @uses register_sidebar + */ +function mantra_widgets_init() { + // Area 1, located at the top of the sidebar. + register_sidebar( array( + 'name' => __( 'Primary Widget Area - Sidebar 1', 'mantra' ), + 'id' => 'primary-widget-area', + 'description' => __( 'Primary widget area - Sidebar 1', 'mantra' ), + 'before_widget' => '<li id="%1$s" class="widget-container %2$s">', + 'after_widget' => '</li>', + 'before_title' => '<h3 class="widget-title">', + 'after_title' => '</h3>', + ) ); + + // Area 2, located below the Primary Widget Area in the sidebar. Empty by default. + register_sidebar( array( + 'name' => __( 'Secondary Widget Area - Sidebar 1', 'mantra' ), + 'id' => 'secondary-widget-area', + 'description' => __( 'Secondary widget area - Sidebar 1', 'mantra' ), + 'before_widget' => '<li id="%1$s" class="widget-container %2$s">', + 'after_widget' => '</li>', + 'before_title' => '<h3 class="widget-title">', + 'after_title' => '</h3>', + ) ); + + // Area 3 for the second sidebar. Empty be default + register_sidebar( array( + 'name' => __( 'Third Widget Area - Sidebar 2', 'mantra' ), + 'id' => 'third-widget-area', + 'description' => __( 'Third widget area - Sidebar 2', 'mantra' ), + 'before_widget' => '<li id="%1$s" class="widget-container %2$s">', + 'after_widget' => '</li>', + 'before_title' => '<h3 class="widget-title">', + 'after_title' => '</h3>', + ) ); + + // Area 4, located below the Third Widget Area in the second sidebar. Empty by default. + register_sidebar( array( + 'name' => __( 'Fourth Widget Area - Sidebar 2', 'mantra' ), + 'id' => 'fourth-widget-area', + 'description' => __( 'Fourth widget area - Sidebar 2', 'mantra' ), + 'before_widget' => '<li id="%1$s" class="widget-container %2$s">', + 'after_widget' => '</li>', + 'before_title' => '<h3 class="widget-title">', + 'after_title' => '</h3>', + ) ); + + // Area 5, located in the footer. Empty by default. + register_sidebar( array( + 'name' => __( 'First Footer Widget Area', 'mantra' ), + 'id' => 'first-footer-widget-area', + 'description' => __( 'First footer widget area', 'mantra' ), + 'before_widget' => '<li id="%1$s" class="widget-container %2$s">', + 'after_widget' => '</li>', + 'before_title' => '<h3 class="widget-title">', + 'after_title' => '</h3>', + ) ); + + // Area 6, located in the footer. Empty by default. + register_sidebar( array( + 'name' => __( 'Second Footer Widget Area', 'mantra' ), + 'id' => 'second-footer-widget-area', + 'description' => __( 'Second footer widget area', 'mantra' ), + 'before_widget' => '<li id="%1$s" class="widget-container %2$s">', + 'after_widget' => '</li>', + 'before_title' => '<h3 class="widget-title">', + 'after_title' => '</h3>', + ) ); + + // Area 7, located in the footer. Empty by default. + register_sidebar( array( + 'name' => __( 'Third Footer Widget Area', 'mantra' ), + 'id' => 'third-footer-widget-area', + 'description' => __( 'The third footer widget area', 'mantra' ), + 'before_widget' => '<li id="%1$s" class="widget-container %2$s">', + 'after_widget' => '</li>', + 'before_title' => '<h3 class="widget-title">', + 'after_title' => '</h3>', + ) ); + + // Area 8, located in the footer. Empty by default. + register_sidebar( array( + 'name' => __( 'Fourth Footer Widget Area', 'mantra' ), + 'id' => 'fourth-footer-widget-area', + 'description' => __( 'The fourth footer widget area', 'mantra' ), + 'before_widget' => '<li id="%1$s" class="widget-container %2$s">', + 'after_widget' => '</li>', + 'before_title' => '<h3 class="widget-title">', + 'after_title' => '</h3>', + ) ); + + // Area 9, located above the content area. Empty by default. + register_sidebar( array( + 'name' => __( 'Above content Widget Area', 'mantra' ), + 'id' => 'above-content-widget-area', + 'description' => __( 'Above content Widget Area', 'mantra' ), + 'before_widget' => '<li id="%1$s" class="widget-container %2$s">', + 'after_widget' => '</li>', + 'before_title' => '<h3 class="widget-title">', + 'after_title' => '</h3>', + ) ); + + // Area 10, located below the content area. Empty by default. + register_sidebar( array( + 'name' => __( 'Below Content Widget Area', 'mantra' ), + 'id' => 'below-content-widget-area', + 'description' => __( 'Below Content Widget Area', 'mantra' ), + 'before_widget' => '<li id="%1$s" class="widget-container %2$s">', + 'after_widget' => '</li>', + 'before_title' => '<h3 class="widget-title">', + 'after_title' => '</h3>', + ) ); +} +/** Register sidebars by running mantra_widgets_init() on the widgets_init hook. */ +add_action( 'widgets_init', 'mantra_widgets_init' ); + + +/** + * Creates different class names for footer widgets depending on their number. + * This way they can fit the footer area. + */ + +function mantra_footer_sidebar_class() { + $count = 0; + + if ( is_active_sidebar( 'first-footer-widget-area' ) ) + $count++; + + if ( is_active_sidebar( 'second-footer-widget-area' ) ) + $count++; + + if ( is_active_sidebar( 'third-footer-widget-area' ) ) + $count++; + + if ( is_active_sidebar( 'fourth-footer-widget-area' ) ) + $count++; + + $class = ''; + + switch ( $count ) { + case '1': + $class = 'one'; + break; + case '2': + $class = 'two'; + break; + case '3': + $class = 'three'; + break; + case '4': + $class = 'four'; + break; + } + + if ( $class ) + echo 'class="footer' . $class . '"'; +} + + + function mantra_above_widget() { + if ( is_active_sidebar( 'above-content-widget-area' )) { ?> + <ul class="yoyo"> + <?php dynamic_sidebar( 'above-content-widget-area' ); ?> + </ul> + <?php } } + +function mantra_below_widget() { + if ( is_active_sidebar( 'below-content-widget-area' )) { ?> + <ul class="yoyo"> + <?php dynamic_sidebar( 'below-content-widget-area' ); ?> + </ul> + <?php } } + +add_action ('cryout_before_content_hook','mantra_above_widget'); add_action ('cryout_after_content_hook','mantra_below_widget'); ?>
\ No newline at end of file |