Skip to content

Instantly share code, notes, and snippets.

View stephanieleary's full-sized avatar

Stephanie Leary stephanieleary

View GitHub Profile
@stephanieleary
stephanieleary / functions.php
Last active August 1, 2017 16:35
Change post excerpt meta box title and contents
<?php
remove_meta_box( 'postexcerpt', 'post', 'side' );
// use original box:
// add_meta_box('postexcerpt', __( 'Plain Text Summary' ), 'post_excerpt_meta_box', 'post', 'normal', 'high');
// replace box altogether:
add_meta_box( 'postexcerpt', __( 'Plain Text Summary' ), 'custom_post_excerpt_meta_box', 'post', 'normal', 'high' );
function custom_post_excerpt_meta_box( $post ) {
?>
@stephanieleary
stephanieleary / functions.php
Last active August 26, 2016 19:54
Better Genesis a11y
<?php
// Replace primary navigation to remove unnecessary "Main navigation" heading, duplicated in ARIA label
remove_action( 'genesis_after_header', 'genesis_do_nav' );
add_action( 'genesis_after_header', 'scl_do_nav' );
function scl_do_nav() {
//* Do nothing if menu not supported
if ( ! genesis_nav_menu_supported( 'primary' ) || ! has_nav_menu( 'primary' ) )
return;
$class = 'menu genesis-nav-menu menu-primary';
@stephanieleary
stephanieleary / subsite-login-redirect.php
Last active October 10, 2016 21:40
Redirect user to primary blog dashboard if not superadmin or not allowed on this blog
<?php
add_filter( 'login_redirect', 'tees_subsite_login_redirect', 100, 3 );
function tees_subsite_login_redirect( $redirect_to, $request_redirect_to, $user ) {
if ( !is_user_member_of_blog() || ( is_main_site() && !is_super_admin() ) ) {
$redirect_to = get_admin_url( get_userdata( $user->ID )->primary_blog );
}
return $redirect_to;
}
@stephanieleary
stephanieleary / default-network-roles.php
Created October 11, 2016 15:51
Give new network users a default role on the main site
<?php
function tees_add_network_default_roles( $user_id ) {
if ( is_main_site() && !is_user_member_of_blog( $user_id ) )
add_user_to_blog( get_current_blog_id(), $user_id, 'subscriber' );
}
add_action( 'wpmu_activate_user', 'tees_add_network_default_roles', 10, 1 );
add_action( 'wpmu_new_user', 'tees_add_network_default_roles', 10, 1 );
add_action( 'user_register', 'tees_add_network_default_roles', 10, 1 );
@stephanieleary
stephanieleary / ms-network-admin.php
Last active April 14, 2022 16:26
Multisite Network Administration functions
<?php
/*
Plugin Name: Texas A&M Multisite Network Administration
Version: 0.4.2
Plugin URI: https://github.tamu.edu/COE-wordpress/coe-network-admin
Description: Adds columns to the Network Sites list screen; subsite user login redirects.
Author: Stephanie Leary
Author URI: http://stephanieleary.com
GitHub Plugin URI: https://github.tamu.edu/COE-wordpress/coe-network-admin
GitHub Enterprise: https://github.tamu.edu
@stephanieleary
stephanieleary / toolbar-buttons.php
Created October 16, 2016 19:11
Remove WP TinyMCE toolbar buttons
<?php
// Remove the underline and full-justify toolbar buttons
function scl_mce_buttons( $buttons ) {
$remove = array( 'underline', 'alignjustify' );
return array_diff( $buttons, $remove );
}
add_filter( 'mce_buttons_2', 'scl_mce_buttons' );
@stephanieleary
stephanieleary / footer-links.php
Last active October 17, 2016 14:27
Centrally managed footer links for TAMU sites
@stephanieleary
stephanieleary / footer-rich-text.php
Created October 16, 2016 19:22
Use an ACF rich text option instead of Genesis footer
@stephanieleary
stephanieleary / screen-options.php
Created October 16, 2016 19:26
Turn off some screen options; turn ON others
<?php
add_filter( 'default_hidden_meta_boxes', 'scl_toggle_meta_boxes', 10, 2 );
function scl_toggle_meta_boxes( $hidden, $screen ) {
$hide_these = array(
'people_typediv',
'facility_typediv',
'genesis-theme-settings-version',
'genesis-theme-settings-feeds',
@stephanieleary
stephanieleary / sidebars.php
Created October 16, 2016 19:34
CPT-specific sidebars
<?php
add_action( 'get_header', 'scl_cpt_switch_sidebar' );
function scl_cpt_switch_sidebar() {
remove_action( 'genesis_sidebar', 'genesis_do_sidebar' );
add_action( 'genesis_sidebar', 'scl_do_sidebar' );
}
function scl_do_sidebar() {