/** * Checks for the existence of popular SEO plugins and disables * the Genesis SEO features if one or more of the plugins is active. * * Runs before the menu is built, so we can disable SEO Settings menu, if necessary. * * @since 1.2.0 * * @uses genesis_detect_seo_plugins() Detect certain SEO plugins * @uses genesis_disable_seo() Disable all aspects of Genesis SEO features * * @see genesis_default_title() */ function genesis_seo_compatibility_check() { if (genesis_detect_seo_plugins()) { genesis_disable_seo(); } /** Disable Genesis <title> generation if SEO Title Tag is active */ if (function_exists('seo_title_tag')) { remove_filter('wp_title', 'genesis_default_title', 10, 3); remove_action('genesis_title', 'wp_title'); add_action('genesis_title', 'seo_title_tag'); } }
/** * This function checks for the existence of popular SEO plugins and disables * the Genesis SEO features if one or more of the plugins is active. * */ function genesis_seo_compatibility_check() { if (genesis_detect_seo_plugins()) { genesis_disable_seo(); } /** Disable Taxonomy Title/Description text if WordPress SEO is active */ if (defined('WPSEO_VERSION')) { remove_action('admin_init', 'genesis_add_taxonomy_archive_options'); remove_action('genesis_before_loop', 'genesis_do_taxonomy_title_description', 15); } /** Disable Genesis <title> generation if SEO Title Tag is active */ if (function_exists('seo_title_tag')) { remove_filter('wp_title', 'genesis_default_title', 10, 3); remove_action('genesis_title', 'wp_title'); add_action('genesis_title', 'seo_title_tag'); } }
/** * Register a new meta box to the post / page edit screen, so that the user can * set SEO options on a per-post or per-page basis. * * @category Genesis * @package Admin * @subpackage Inpost-Metaboxes * * @since 0.1.3 * * @see genesis_inpost_seo_box() Generates the content in the meta box */ function be_add_inpost_seo_box() { if (genesis_detect_seo_plugins()) { return; } foreach ((array) get_post_types(array('public' => true)) as $type) { if (post_type_supports($type, 'genesis-seo')) { add_meta_box('genesis_inpost_seo_box', __('Theme SEO Settings', 'genesis'), 'genesis_inpost_seo_box', $type, 'normal', 'default'); } } }
function bfg_maybe_disable_genesis_seo() { genesis_disable_seo(); //* Disable Genesis <title> generation if (genesis_detect_seo_plugins() && function_exists('seo_title_tag')) { remove_filter('wp_title', 'genesis_default_title', 10, 3); remove_action('genesis_title', 'wp_title'); add_action('genesis_title', 'seo_title_tag'); } }
/** * 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) || !get_the_author_meta('genesis_admin_menu', $gtbe_user->ID) || !GTBE_DISPLAY) { 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 = '<input type="submit" value="' . __('GO', 'genesis-toolbar-extras') . '" class="gtbe-search-go" /></form>'; /** 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' && 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'); }