. */ /** * Setting constants * * @since 1.0.0 */ /** Plugin directory */ define( 'GTBE_PLUGIN_DIR', dirname( __FILE__ ) ); /** Plugin base directory */ define( 'GTBE_PLUGIN_BASEDIR', dirname( plugin_basename( __FILE__ ) ) ); /** Various link/content related helper constants */ define( 'GTBE_GBEGINNER_GDOCS', apply_filters( 'gtbe_filter_user_guide', 'http://docs.google.com/viewer?url=http%3A%2F%2Fwww.studiopress.com%2Fdownload%2Fgenesis-for-beginners.pdf' ) ); define( 'GTBE_VTUTORIALS_YTBE', apply_filters( 'gtbe_filter_video_tutorials', 'http://www.youtube.com/results?search_query=genesis+framework' ) ); add_action( 'init', 'ddw_gtbe_init' ); /** * Load the text domain for translation of the plugin. * Load admin helper functions - only within 'wp-admin'. * * @since 1.0.0 * * @param string $gtbe_wp_lang_dir * @param string $gtbe_lang_dir */ function ddw_gtbe_init() { /** Set filter for WordPress languages directory */ $gtbe_wp_lang_dir = GTBE_PLUGIN_BASEDIR . '/../../languages/genesis-toolbar-extras/'; $gtbe_wp_lang_dir = apply_filters( 'gtbe_filter_wp_lang_dir', $gtbe_wp_lang_dir ); /** Set filter for plugin's languages directory */ $gtbe_lang_dir = GTBE_PLUGIN_BASEDIR . '/languages/'; $gtbe_lang_dir = apply_filters( 'gtbe_filter_lang_dir', $gtbe_lang_dir ); /** First look in WordPress' "languages" folder = custom & update-secure! */ load_plugin_textdomain( 'genesis-toolbar-extras', false, $gtbe_wp_lang_dir ); /** Then look in plugin's "languages" folder = default */ load_plugin_textdomain( 'genesis-toolbar-extras', false, $gtbe_lang_dir ); /** Include admin helper functions */ if ( is_admin() ) { require_once( GTBE_PLUGIN_DIR . '/includes/gtbe-admin.php' ); if ( basename( get_template_directory() ) == 'genesis' ) { require_once( GTBE_PLUGIN_DIR . '/includes/gtbe-file-menus.php' ); if ( ! class_exists( 'Genesis_Admin_Readme' ) ) { global $gtbe_admin_readme; $gtbe_admin_readme = new DDW_GTBE_Admin_Readme; } if ( file_exists( ddw_gtbe_filter_url_child_changelog() ) ) { global $gtbe_admin_changelog; $gtbe_admin_changelog = new DDW_GTBE_Admin_Changelog; } } // end-if Genesis check } // end-if is_admin check /** Define constants and set defaults for removing all or certain sections */ if ( ! defined( 'GTBE_DISPLAY' ) ) { define( 'GTBE_DISPLAY', TRUE ); } if ( ! defined( 'GTBE_RESOURCES_DISPLAY' ) ) { define( 'GTBE_RESOURCES_DISPLAY', TRUE ); } if ( ! defined( 'GTBE_CHILD_THEME_DISPLAY' ) ) { define( 'GTBE_CHILD_THEME_DISPLAY', TRUE ); } if ( ! defined( 'GTBE_EXTENSIONS_DISPLAY' ) ) { define( 'GTBE_EXTENSIONS_DISPLAY', TRUE ); } if ( ! defined( 'GTBE_MANAGE_CONTENT_DISPLAY' ) ) { define( 'GTBE_MANAGE_CONTENT_DISPLAY', TRUE ); } if ( ! defined( 'GTBE_DE_DISPLAY' ) ) { define( 'GTBE_DE_DISPLAY', TRUE ); } if ( ! defined( 'GTBE_TRANSLATIONS_DISPLAY' ) ) { define( 'GTBE_TRANSLATIONS_DISPLAY', TRUE ); } if ( ! defined( 'GTBE_MYSP_DISPLAY' ) ) { define( 'GTBE_MYSP_DISPLAY', TRUE ); } if ( ! defined( 'GTBE_OLDFORUMS_DISPLAY' ) ) { define( 'GTBE_OLDFORUMS_DISPLAY', TRUE ); } } // end of function ddw_gtbe_init /** * Prepare for SEO plugin detection add to Genesis detection filter * * @since 1.1.0 * * @uses filter 'genesis_detect_seo_plugins' * * @param $gtbe_seo_plugins */ if ( class_exists( 'All_in_One_SEO_Pack_p' ) || defined( 'GDHEADSPACE4_PATH' ) || defined( 'SU_VERSION' ) || ( in_array( 'wpmu-dev-seo/wpmu-dev-seo.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) || ( in_array( 'gregs-high-performance-seo/ghpseo.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) ) { add_filter( 'genesis_detect_seo_plugins', 'ddw_gtbe_add_seo_plugins' ); /** * Extend Genesis SEO detection filter with new values */ function ddw_gtbe_add_seo_plugins( $gtbe_seo_plugins ) { $gtbe_seo_plugins = array( /** Classes to detect */ 'classes' => array( 'All_in_One_SEO_Pack_p', // All In One SEO Pack Pro 'gregsHighPerformanceSEO', // Greg's High Performance SEO ), /** Constants to detect */ 'constants' => array( 'GDHEADSPACE4_PATH', // gdHeadSpace4 'SU_VERSION', // SEO Ultimate 'WDS_SITEMAP_POST_LIMIT', // Infinite SEO (WPMU DEV) ), /** Functions to detect */ 'functions' => array( 'wds_get_value', // Infinite SEO (WPMU DEV) ), ); // end of array return $gtbe_seo_plugins; } // end of function ddw_gtbe_add_seo_plugins } // end-if seo plugins prepare additions add_action( 'admin_bar_menu', 'ddw_gtbe_admin_bar_menu', 98 ); /** * Add new menu items to the WordPress Toolbar / Admin Bar. * * @since 1.0.0 * * @global mixed $wp_admin_bar, $locale, $gtbe_child_type_check, $spchild, $spmarket, $tpchild, $gtbe_is_mcgroup, $theme, $stylesheet * * @param $gtbe_user */ function ddw_gtbe_admin_bar_menu() { global $wp_admin_bar, $locale, $gtbe_child_type_check, $gtbe_is_mcgroup, $theme, $stylesheet; /** Get current user - we need this for checking Genesis admin menu display options */ $gtbe_user = wp_get_current_user(); /** * Allows for filtering the general user capability to see main & sub-level items * * Default capability: 'edit_posts' (needed for the "manage content" stuff...) * * @since 1.0.0 */ $gtbe_filter_capability = apply_filters( 'gtbe_filter_capability_all', 'edit_posts' ); /** * Required WordPress cabability to display new admin bar entry * Only showing items if toolbar / admin bar is activated and user is logged in! * * @since 1.0.0 */ if ( ! is_user_logged_in() || ! is_admin_bar_showing() || ! current_user_can( $gtbe_filter_capability ) // allows for custom filtering the required capability || ! get_the_author_meta( 'genesis_admin_menu', $gtbe_user->ID ) // users who can't see left G icon won't see toolbar items! || ! GTBE_DISPLAY // allows for custom disabling ) { return; } /** * Get current stylesheet name logic - compatible up to WordPress 3.4+! * * @since 1.1.0 * * @param $gtbe_stylesheet_name */ if ( function_exists( 'wp_get_theme' ) ) { // First, check for WP 3.4+ function wp_get_theme() $gtbe_stylesheet_name = wp_get_theme( $stylesheet ); } elseif ( function_exists( 'get_current_theme' ) ) { // Otherwise fall back to prior WP 3.4 default get_current_theme() $gtbe_stylesheet_name = get_current_theme(); } // end-if stylesheet check /** Set unique prefix for toolbar ID */ $prefix = 'ddw-genesis-'; /** Create parent menu item references */ $genesisbar = $prefix . 'admin-bar'; // root level $genesissupport = $prefix . 'genesissupport'; // sub level: genesis support $supportcommon = $prefix . 'supportcommon'; // third level: genesis support helper group $genesisoldsupport = $prefix . 'genesisoldsupport'; // fourth level: genesis old support forum $genesisguide = $prefix . 'genesisguide'; // sub level: genesis user guide $genesistutorials = $prefix . 'genesistutorials'; // third level: genesis tutorials $genesissites = $prefix . 'genesissites'; // sub level: genesis sites $genesisblog = $prefix . 'genesisblog'; // third level: genesis blog $genesisresources = $prefix . 'genesisresources'; // third level: genesis resources $genesisaffiliates = $prefix . 'genesisaffiliates'; // third level: genesis affiliates $gfindersearchform = $prefix . 'gfindersearchform'; // sub level: genesisfinder $genesissettings = $prefix . 'genesissettings'; // sub level: genesis settings $genesiscustom = $prefix . 'genesiscustom'; // third level: genesis custom file editor $genesisimportexport = $prefix . 'genesisimportexport'; // third level: genesis export/import $extgseoyoastseo = $prefix . 'extgseoyoastseo'; // third level: genesis seo plugins: yoast seo $extgseowpseo = $prefix . 'extgseowpseo'; // third level: genesis seo plugins: wpseo $extgseoultimate = $prefix . 'extgseoultimate'; // third level: genesis seo plugins: seo ultimate $extgseogdhs = $prefix . 'extgseogdhs'; // third level: genesis seo plugins: gdheadspace4 $extgseoghpseo = $prefix . 'extgseoghpseo'; // third level: genesis seo plugins: g.h.p.seo $extgseowpmudev = $prefix . 'extgseowpmudev'; // third level: genesis seo plugins: infinite seo $extgroup = $prefix . 'extgroup'; // sub level: extend group ("hook" place) $tgroup = $prefix . 'tgroup'; // sub level: theme group ("hook" place) $spgenesischild = $prefix . 'spgenesischild'; // third level theme: sp genesis child themes $spgminimum2x = $prefix . 'spgminimum2x'; // third level theme: minimum 2.x portfolio $spgexecutive2x = $prefix . 'spgexecutive2x'; // third level theme: executive 2.x portfolio $spmarket = $prefix . 'spmarket'; // third level theme: sp marketplace child themes $themedysettings = $prefix . 'themedysettings'; // third level theme: themedy child themes $themedyportfolio = $prefix . 'themedyportfolio'; // third level theme: themedy portfolio cpt $themedyslide = $prefix . 'themedyslide'; // third level theme: themedy slide cpt $themedyphoto = $prefix . 'themedyphoto'; // third level theme: themedy photo cpt $themedyproduct = $prefix . 'themedyproduct'; // third level theme: themedy product cpt $tpchild = $prefix . 'tpchild'; // third level theme: third-party child themes $tpplugin_extender = $prefix . 'tpplugin_extender'; // third level theme: genesis extender (plugin) $gextendersettings = $prefix . 'gextendersettings'; // fourth level theme: g.extender settings $gextendercustom = $prefix . 'gextendercustom'; // fourth level theme: g.extender custom $tpchild_dynamik = $prefix . 'tpchild_dynamik'; // third level theme: dynamik genesis $dynamikdesign = $prefix . 'dynamikdesign'; // third level theme: dynamik genesis design $dynamikdesignstructure = $prefix . 'dynamikdesignstructure'; // third level theme: dynamik genesis design $dynamikdesigncontent = $prefix . 'dynamikdesigncontent'; // third level theme: dynamik genesis design $dynamikdesignextras = $prefix . 'dynamikdesignextras'; // third level theme: dynamik genesis design $dynamikcustom = $prefix . 'dynamikcustom'; // third level theme: dynamik genesis custom $dizain01portfolio = $prefix . 'dizain01portfolio'; // third level theme: dizain 01 portfolio $zzpportfolio = $prefix . 'zzpportfolio'; // third level theme: zigzagpress portfolio $zzpslides = $prefix . 'zzpslides'; // third level theme: zigzagpress slides $pgroup = $prefix . 'pgroup'; // sub level: plugins group ("hook" place) $extensions = $prefix . 'extensions'; // sub level: extensions $mcgroup = $prefix . 'mcgroup'; // sub level: manage content group ("hook" place) $mcgroupstart = $prefix . 'mcgroupstart'; // third level: mc group start $mcgthemedyportfolio = $prefix . 'mcgthemedyportfolio'; // third level theme: themedy portfolio cpt $mcgthemedyslide = $prefix . 'mcgthemedyslide'; // third level theme: themedy slide cpt $mcgthemedyphoto = $prefix . 'mcgthemedyphoto'; // third level theme: themedy photo cpt $mcgthemedyproduct = $prefix . 'mcgthemedyproduct'; // third level theme: themedy product cpt $mcginspyr = $prefix . 'mcginspyr'; // third level theme: (in)spyr $mcgdizain01 = $prefix . 'mcgdizain01'; // third level theme: dizain 01 portfolio $mcgzzpportfolio = $prefix . 'mcgzzpportfolio'; // third level theme: zigzagpress portfolio $mcgzzpslides = $prefix . 'mcgzzpslides'; // third level theme: zigzagpress slides $mcgspgminimum2x = $prefix . 'mcgspgminimum2x'; // third level theme: minimum 2.x portfolio $mcgspgexecutive2x = $prefix . 'mcgspgexecutive2x'; // third level theme: executive 2.x portfolio $mcgspapl = $prefix . 'mcgspapl'; // third level plugin: agentpress listings $mcggportfolio = $prefix . 'mcggportfolio'; // third level plugin: genesis portfolio $mcggmp = $prefix . 'mcggmp'; // third level plugin: genesis media project $mcggppt = $prefix . 'mcggppt'; // third level plugin: genesis press post type $mcggpbox = $prefix . 'mcggpbox'; // third level plugin: genesis promotion box $mcgspsurls = $prefix . 'mcgspsurls'; // third level plugin: simple urls $mcgsoliloquy = $prefix . 'mcgsoliloquy'; // third level plugin: soliloquy $mcgroyalslider = $prefix . 'mcgroyalslider'; // third level plugin: royal slider $mcgtouchcarousel = $prefix . 'mcgtouchcarousel'; // third level plugin: touch carousel $premise = $prefix . 'premise'; // third level: premise $premiselanding = $prefix . 'premiselanding'; // third level: premise landing pages $premisesettings = $prefix . 'premisesettings'; // third level: premise settings $premisemember = $prefix . 'premisemember'; // third level: premise member access $premisemember_products = $prefix . 'premisemember_products'; // fourth level: premise products $premisemember_coupons = $prefix . 'premisemember_coupons'; // fourth level: premise coupons $premisemember_links = $prefix . 'premisemember_links'; // fourth level: premise links $premisemember_members = $prefix . 'premisemember_members'; // fourth level: premise members $genesisgroup = $prefix . 'genesisgroup'; // sub level: genesis group (resources) $tpsgroup = $prefix . 'tpsgroup'; // third level: tps group (third-party support) $languagesde = $prefix . 'languagesde'; // third level: german language packs $translate = $prefix . 'translate'; // third level: genesis translations /** Make the "Genesis" name filterable within menu items */ $gtbe_genesis_name = apply_filters( 'gtbe_filter_genesis_name', __( 'Genesis', 'genesis-toolbar-extras' ) ); /** Make the "Genesis" name's tooltip filterable within menu items */ $gtbe_genesis_name_tooltip = apply_filters( 'gtbe_filter_genesis_name_tooltip', _x( 'Genesis', 'Translators: For the tooltip', 'genesis-toolbar-extras' ) ); /** For the GenesisFinder.com search */ $gtbe_search_gfinder = __( 'GenesisFinder Search', 'genesis-toolbar-extras' ); $gtbe_go_button = ''; /** Display these items also when Genesis Framework is not installed */ if ( GTBE_RESOURCES_DISPLAY ) { /** Include plugin file with resources links */ require_once( GTBE_PLUGIN_DIR . '/includes/gtbe-resources.php' ); } // end-if constant check for displaying resources /** Display language specific links only for these locales: de_DE, de_AT, de_CH, de_LU */ if ( GTBE_DE_DISPLAY && ( get_locale() == 'de_DE' || get_locale() == 'de_AT' || get_locale() == 'de_CH' || get_locale() == 'de_LU' ) ) { /** Include plugin file with German language resources links */ require_once( GTBE_PLUGIN_DIR . '/includes/gtbe-translations-german.php' ); } // end-if German locales /** Translate Genesis section - only display for non-English locales */ if ( GTBE_TRANSLATIONS_DISPLAY && ( empty( $locale ) || !( get_locale() == 'en_US' || get_locale() == 'en_GB' || get_locale() == 'en_NZ' || get_locale() == 'en' ) ) ) { /** Include plugin file with translations resources links */ require_once( GTBE_PLUGIN_DIR . '/includes/gtbe-translations.php' ); } // end-if translate genesis /** Show these items only if Genesis Framework is actually installed */ if ( defined( 'GENESIS_SETTINGS_FIELD' ) && current_user_can( 'edit_theme_options' ) ) { /** Main settings link */ $gtbe_aurl_genesis_main = admin_url( 'admin.php?page=genesis' ); /** Genesis Theme Settings section */ if ( current_theme_supports( 'genesis-admin-menu' ) && get_the_author_meta( 'genesis_admin_menu', $gtbe_user->ID ) ) { $menu_items['genesissettings'] = array( 'parent' => $genesisbar, 'title' => __( 'Theme Settings', 'genesis-toolbar-extras' ), 'href' => admin_url( 'admin.php?page=genesis' ), 'meta' => array( 'target' => '', 'title' => __( 'Theme Settings', 'genesis-toolbar-extras' ) ) ); $menu_items['genesiswidgets'] = array( 'parent' => $genesissettings, 'title' => esc_attr__( $gtbe_genesis_name ) . ' ' . __( 'Widgets', 'genesis-toolbar-extras' ), 'href' => admin_url( 'widgets.php' ), 'meta' => array( 'target' => '', 'title' => esc_attr__( $gtbe_genesis_name_tooltip ) . ' ' . __( 'Widgets', 'genesis-toolbar-extras' ) ) ); $menu_items['genesismenus'] = array( 'parent' => $genesissettings, 'title' => esc_attr__( $gtbe_genesis_name ) . ' ' . __( 'Menus', 'genesis-toolbar-extras' ), 'href' => admin_url( 'nav-menus.php' ), 'meta' => array( 'target' => '', 'title' => esc_attr__( $gtbe_genesis_name_tooltip ) . ' ' . __( 'Menus', 'genesis-toolbar-extras' ) ) ); /** Check for custom background support */ if ( current_theme_supports( 'custom-background' ) ) { $menu_items['theme-background'] = array( 'parent' => $genesissettings, 'title' => __( 'Custom Background', 'genesis-toolbar-extras' ), 'href' => admin_url( 'themes.php?page=custom-background' ), 'meta' => array( 'target' => '', 'title' => __( 'Custom Background', 'genesis-toolbar-extras' ) ) ); } // end-if custom background /** Header Image section - Check for custom header support */ if ( current_theme_supports( 'custom-header' ) ) { $menu_items['theme-header'] = array( 'parent' => $genesissettings, 'title' => __( 'Custom Header', 'genesis-toolbar-extras' ), 'href' => admin_url( 'themes.php?page=custom-header' ), 'meta' => array( 'target' => '', 'title' => __( 'Custom Header', 'genesis-toolbar-extras' ) ) ); } // end-if custom header } // end-if admin/theme menu check /** Genesis SEO Options section */ if ( ! genesis_detect_seo_plugins() && current_theme_supports( 'genesis-seo-settings-menu' ) && get_the_author_meta( 'genesis_seo_settings_menu', $gtbe_user->ID ) ) { $menu_items['genesisseo'] = array( 'parent' => $genesisbar, 'title' => __( 'SEO Settings', 'genesis-toolbar-extras' ), 'href' => admin_url( 'admin.php?page=seo-settings' ), 'meta' => array( 'target' => '', 'title' => __( 'SEO Settings', 'genesis-toolbar-extras' ) ) ); } // end-if seo menu check /** Import & Export section */ if ( current_theme_supports( 'genesis-import-export-menu' ) && get_the_author_meta( 'genesis_import_export_menu', $gtbe_user->ID ) ) { $menu_items['genesisimportexport'] = array( 'parent' => $genesisbar, 'title' => __( 'Import & Export', 'genesis-toolbar-extras' ), 'href' => admin_url( 'admin.php?page=genesis-import-export' ), 'meta' => array( 'target' => '', 'title' => _x( 'Import & Export', 'Translators: For the tooltip', 'genesis-toolbar-extras' ) ) ); } // end-if import/export menu check /** Conditionally support SEO plugins with Genesis SEO plugin detection */ if ( ( function_exists( 'genesis_detect_seo_plugins' ) && genesis_detect_seo_plugins() ) && get_the_author_meta( 'genesis_seo_settings_menu', $gtbe_user->ID ) ) { /** Include plugin file with seo plugin support links */ require_once( GTBE_PLUGIN_DIR . '/includes/gtbe-seoplugins.php' ); } // end-if seo plugins check /** * Display last main item in the menu for active extensions/plugins * ATTENTION: This is where plugins/extensions hook in on the sub-level hierarchy * * @since 1.0.0 */ if ( GTBE_EXTENSIONS_DISPLAY && ( current_theme_supports( 'genesis-admin-menu' ) && get_the_author_meta( 'genesis_admin_menu', $gtbe_user->ID ) ) ) { $menu_items['extensions'] = array( 'parent' => $pgroup, 'title' => __( 'Active Extensions', 'genesis-toolbar-extras' ), 'href' => is_network_admin() ? network_admin_url( 'plugins.php' ) : admin_url( 'plugins.php' ), 'meta' => array( 'target' => '', 'title' => sprintf( _x( 'Active %s Extensions Plugins', 'Translators: For the tooltip', 'genesis-toolbar-extras' ), esc_attr__( $gtbe_genesis_name ) ) ) ); } // end-if constant check for displaying extensions } else { /** If Genesis is not active, to avoid PHP notices */ $menu_items = $genesisgroup_menu_items; /** If Genesis is not active "void" main settings link */ $gtbe_aurl_genesis_main = false; } // end-if Genesis conditional /** * "Archives Settings" String for all 'GCPTA Plugin Archive Settings' * * @since 1.1.0 * * @param $gtbe_gcpta_archives_settings */ $gtbe_gcpta_archives_settings = ' ' . __( 'Archives Settings', 'genesis-toolbar-extras' ); /** * Display links to active StudioPress Genesis Child Themes settings' pages * * @since 1.0.0 */ /** Include plugin file with theme support links */ require_once( GTBE_PLUGIN_DIR . '/includes/gtbe-studiopress.php' ); /** * Display links to active Themedy Genesis Child Themes settings' pages * * @since 1.0.0 */ if ( function_exists( 'themedy_load_styles' ) ) { /** Include plugin file with theme support links */ require_once( GTBE_PLUGIN_DIR . '/includes/gtbe-themedy.php' ); } // end-if Themedy Genesis child theme check /** * Display links to active (non-StudioPress/Themedy) Genesis Child Themes settings' pages * * @since 1.0.0 */ /** Include plugin file with theme support links */ require_once( GTBE_PLUGIN_DIR . '/includes/gtbe-themes.php' ); /** * Display links to active Genesis plugins/extensions settings' pages * * @since 1.0.0 */ /** Include plugin file with plugin support links */ require_once( GTBE_PLUGIN_DIR . '/includes/gtbe-plugins.php' ); /** Allow menu items to be filtered, but pass in parent menu item IDs */ $menu_items = (array) apply_filters( 'ddw_gtbe_menu_items', $menu_items, $genesisgroup_menu_items, $prefix, $genesisbar, $genesissupport, $supportcommon, $genesisoldsupport, $genesisguide, $genesistutorials, $genesissites, $genesisaffiliates, $gfindersearchform, $genesisblog, $genesisresources, $genesissettings, $genesiscustom, $genesisimportexport, $extgseoyoastseo, $extgseowpseo, $extgseoultimate, $extgseogdhs, $extgseoghpseo, $extgseowpmudev, $extensions, $extgroup, $spgenesischild, $spgminimum2x, $spmarket, $themedysettings, $themedyportfolio, $themedyslide, $themedyphoto, $themedyproduct, $tpchild, $tpplugin_extender, $gextendersettings, $gextendercustom, $tpchild_dynamik, $dynamikdesign, $dynamikcustom, $dynamikdesignstructure, $dynamikdesigncontent, $dynamikdesignextras, $dizain01portfolio, $zzpportfolio, $zzpslides, $mcgroup, $mcgroupstart, $mcgthemedyportfolio, $mcgthemedyslide, $mcgthemedyphoto, $mcgthemedyproduct, $mcginspyr, $mcgdizain01, $mcgzzpportfolio, $mcgzzpslides, $mcgspgminimum2x, $mcgspapl, $mcggportfolio, $mcggmp, $mcggppt, $mcggpbox, $mcgspsurls, $mcgsoliloquy, $mcgroyalslider, $mcgtouchcarousel, $premise, $premiselanding, $premisesettings, $premisemember, $premisemember_products, $premisemember_coupons, $premisemember_links, $premisemember_members, $tgroup, $pgroup, $genesisgroup, $tpsgroup, $languagesde ); // end of array /** * Add the Genesis top-level menu item * * @since 1.0.0 * * @param $gtbe_main_item_title * @param $gtbe_main_item_title_tooltip */ /** Filter the main item name */ $gtbe_main_item_title = apply_filters( 'gtbe_filter_main_item', __( 'Genesis', 'genesis-toolbar-extras' ) ); /** Filter the main item name's tooltip */ $gtbe_main_item_title_tooltip = apply_filters( 'gtbe_filter_main_item_tooltip', _x( 'Genesis Framework', 'Translators: For the tooltip', 'genesis-toolbar-extras' ) ); /** Filter the main item icon's class/display */ $gtbe_main_item_icon_display = apply_filters( 'gtbe_filter_main_item_icon_display', 'icon-genesistbe' ); /** Add the main item */ $wp_admin_bar->add_menu( array( 'id' => $genesisbar, 'title' => esc_attr__( $gtbe_main_item_title ), 'href' => $gtbe_aurl_genesis_main, 'meta' => array( 'class' => esc_attr( $gtbe_main_item_icon_display ), 'title' => esc_attr__( $gtbe_main_item_title_tooltip ) ) ) ); /** Loop through the menu items */ foreach ( $menu_items as $id => $menu_item ) { /** Add in the item ID */ $menu_item['id'] = $prefix . $id; /** Add meta target to each item where it's not already set, so links open in new window/tab */ if ( ! isset( $menu_item['meta']['target'] ) ) { $menu_item['meta']['target'] = '_blank'; } /** Add class to links that open up in a new window/tab */ if ( '_blank' === $menu_item['meta']['target'] ) { if ( ! isset( $menu_item['meta']['class'] ) ) { $menu_item['meta']['class'] = ''; } $menu_item['meta']['class'] .= $prefix . 'gtbe-new-tab'; } // end-if menu values check /** Add menu items */ $wp_admin_bar->add_menu( $menu_item ); } // end foreach menu items /** * Action Hook 'gtbe_custom_main_items' * allows for hooking other main items in. * * @since 1.1.0 */ do_action( 'gtbe_custom_main_items' ); /** Extend Group: Main Entry */ $wp_admin_bar->add_group( array( 'parent' => $genesisbar, 'id' => $extgroup, ) ); /** Theme Group: Main Entry */ if ( GTBE_CHILD_THEME_DISPLAY ) { $wp_admin_bar->add_group( array( 'parent' => $extgroup, 'id' => $tgroup, ) ); } // end-if constant check for displaying theme group /** Add extra group for 'Genesis Extender' plugin */ if ( CHILD_THEME_NAME != 'Dynamik Website Builder' // do not activate for Dynamik Genesis version! && current_user_can( 'manage_options' ) && defined( 'GENEXT_VERSION' ) ) { /** Add special group for the items within child theme area */ $wp_admin_bar->add_group( array( 'parent' => $tgroup, 'id' => $tpplugin_extender, ) ); } // end-if Genesis Extender check /** * Action Hook 'gtbe_custom_theme_items' * allows for hooking other theme-related items in. * * @since 1.1.0 */ do_action( 'gtbe_custom_theme_items' ); /** Plugin Group: Main Entry */ $wp_admin_bar->add_group( array( 'parent' => $extgroup, 'id' => $pgroup, ) ); /** Manage Content Group: Main Entry */ if ( GTBE_MANAGE_CONTENT_DISPLAY && current_user_can( 'edit_posts' ) ) { $wp_admin_bar->add_group( array( 'parent' => $extgroup, 'id' => $mcgroup, ) ); } // end-if constant check for displaying manage content group /** * Action Hook 'gtbe_custom_extend_items' * allows for hooking other extend items in. * * @since 1.1.0 */ do_action( 'gtbe_custom_extend_items' ); /** Genesis Group: Main Entry */ $wp_admin_bar->add_group( array( 'parent' => $genesisbar, 'id' => $genesisgroup, 'meta' => array( 'class' => 'ab-sub-secondary' ) ) ); /** Genesis Group: Loop through the group menu items */ foreach ( $genesisgroup_menu_items as $id => $genesisgroup_menu_item ) { /** Genesis Group: Add in the item ID */ $genesisgroup_menu_item['id'] = $prefix . $id; /** Genesis Group: Add meta target to each item where it's not already set, so links open in new window/tab */ if ( ! isset( $genesisgroup_menu_item['meta']['target'] ) ) { $genesisgroup_menu_item['meta']['target'] = '_blank'; } /** Genesis Group: Add class to links that open up in a new window/tab */ if ( '_blank' === $genesisgroup_menu_item['meta']['target'] ) { if ( ! isset( $genesisgroup_menu_item['meta']['class'] ) ) { $genesisgroup_menu_item['meta']['class'] = ''; } $genesisgroup_menu_item['meta']['class'] .= $prefix . 'gtbe-new-tab'; } // end-if menu values check /** Genesis Group: Add menu items */ $wp_admin_bar->add_menu( $genesisgroup_menu_item ); } // end foreach Genesis Group /** Common Support Resources: Group Helper Item */ $wp_admin_bar->add_group( array( 'parent' => $genesissupport, 'id' => $supportcommon, ) ); /** TPS (Third-Party-Support) Group: Sub-Level Entry (under "Genesis Support") */ $wp_admin_bar->add_group( array( 'parent' => $genesissupport, 'id' => $tpsgroup, ) ); /** * Action Hook 'gtbe_custom_group_items' * allows for hooking other Genesis Group items in. * * @since 1.1.0 */ do_action( 'gtbe_custom_group_items' ); } // end of main function ddw_gtbe_admin_bar_menu add_action( 'wp_head', 'ddw_gtbe_admin_style' ); add_action( 'admin_head', 'ddw_gtbe_admin_style' ); /** * Add the styles for new WordPress Toolbar / Admin Bar entry * * @since 1.0.0 * * @param $gtbe_main_icon */ function ddw_gtbe_admin_style() { /** No styles if admin bar is disabled or user is not logged in or items are disabled via constant */ if ( ! is_admin_bar_showing() || ! is_user_logged_in() || ! GTBE_DISPLAY ) { return; } /** Add CSS styles to wp_head/admin_head */ $gtbe_main_icon = apply_filters( 'gtbe_filter_main_icon', plugins_url( 'genesis-toolbar-extras/images/icon-genesistbe.png', dirname( __FILE__ ) ) ); ?>