Created
March 7, 2016 14:38
-
-
Save jchristopher/af62106551c78e9b4494 to your computer and use it in GitHub Desktop.
alas, the mess that is my functions.php
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* SimpleTruth2.0 functions and definitions. | |
* | |
* This file will be cleaned up before live as there are various unneeded calls. | |
* | |
* @link https://developer.wordpress.org/themes/basics/theme-functions/ | |
* | |
* @package SimpleTruth2.0 | |
*/ | |
if ( ! function_exists( 'st2_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 for post thumbnails. | |
*/ | |
function st2_setup() { | |
/* | |
* Make theme available for translation. | |
* Translations can be filed in the /languages/ directory. | |
* If you're building a theme based on SimpleTruth2.0, use a find and replace | |
* to change 'st2' to the name of your theme in all the template files. | |
*/ | |
load_theme_textdomain( 'st2', get_template_directory() . '/languages' ); | |
// Add default posts and comments RSS feed links to head. | |
add_theme_support( 'automatic-feed-links' ); | |
/* | |
* Let WordPress manage the document title. | |
* By adding theme support, we declare that this theme does not use a | |
* hard-coded <title> 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' ); | |
/* | |
* | |
* Add multiple image sizes for Simple Truth | |
* | |
*/ | |
update_option('large_size_w', 1190); | |
update_option('large_size_h', 1190); | |
update_option('medium_size_W', 960); | |
update_option('medium_size_h', 960); | |
add_image_size( 'small', 600, 600); | |
update_option('thumbnail_size_w', 150); | |
update_option('thumbnail_size_h', 150); | |
// This theme uses wp_nav_menu() in two locations. | |
register_nav_menus( array( | |
'primary' => esc_html__( 'Primary', 'st2' ), | |
'footer' => esc_html__( 'Footer', 'st2' ), | |
) ); | |
/* | |
* 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', | |
) ); | |
/* | |
* Enable support for Post Formats. | |
* See https://developer.wordpress.org/themes/functionality/post-formats/ | |
add_theme_support( 'post-formats', array( | |
'aside', | |
'image', | |
'video', | |
'quote', | |
'link', | |
) ); | |
*/ | |
// Set up the WordPress core custom background feature. | |
} | |
endif; | |
add_action( 'after_setup_theme', 'st2_setup' ); | |
/** | |
* Set the content width in pixels, based on the theme's design and stylesheet. | |
* | |
* Priority 0 to make it available to lower priority callbacks. | |
* | |
* @global int $content_width | |
*/ | |
function st2_content_width() { | |
$GLOBALS['content_width'] = apply_filters( 'st2_content_width', 640 ); | |
} | |
add_action( 'after_setup_theme', 'st2_content_width', 0 ); | |
/** | |
* Register widget area. | |
* | |
* @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar | |
*/ | |
function st2_widgets_init() { | |
register_sidebar( array( | |
'name' => esc_html__( 'Sidebar', 'st2' ), | |
'id' => 'sidebar-1', | |
'description' => '', | |
'before_widget' => '<section id="%1$s" class="widget %2$s">', | |
'after_widget' => '</section>', | |
'before_title' => '<h2 class="widget-title">', | |
'after_title' => '</h2>', | |
) ); | |
} | |
add_action( 'widgets_init', 'st2_widgets_init' ); | |
/** | |
* Enqueue scripts and styles. | |
*/ | |
function st2_scripts() { | |
wp_enqueue_style( 'st2-style', get_stylesheet_uri() ); | |
wp_enqueue_script( 'st2-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '20120206', true ); | |
wp_enqueue_script( 'st2-nav-slider', get_template_directory_uri() . '/js/nav.js', array(), '1', true ); | |
wp_enqueue_script( 'st2-skip-link-focus-fix', get_template_directory_uri() . '/js/skip-link-focus-fix.js', array(), '20130115', true ); | |
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { | |
wp_enqueue_script( 'comment-reply' ); | |
} | |
} | |
add_action( 'wp_enqueue_scripts', 'st2_scripts' ); | |
add_action( 'wp_enqueue_scripts', 'register_jquery' ); | |
function register_jquery() { | |
if (!is_admin() && $GLOBALS['pagenow'] != 'wp-login.php') { | |
// comment out the next two lines to load the local copy of jQuery | |
wp_deregister_script('jquery'); | |
wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js', false, '1.11.2'); | |
wp_enqueue_script('jquery'); | |
} | |
} | |
/** | |
* Implement the Custom Header feature. | |
*/ | |
require get_template_directory() . '/inc/custom-header.php'; | |
/** | |
* Custom template tags for this theme. | |
*/ | |
require get_template_directory() . '/inc/template-tags.php'; | |
/** | |
* Custom functions that act independently of the theme templates. | |
*/ | |
require get_template_directory() . '/inc/extras.php'; | |
/** | |
* Customizer additions. | |
*/ | |
require get_template_directory() . '/inc/customizer.php'; | |
/** | |
* Load Jetpack compatibility file. | |
*/ | |
require get_template_directory() . '/inc/jetpack.php'; | |
/* | |
* custom loop for client taxonomy page | |
*/ | |
function st2_capability_archive_display ( $query ) { | |
if (($query->is_main_query()) && (is_tax('capability'))){ | |
$query->set( 'orderby', 'title' ); | |
$query->set( 'posts_per_page', '-1' ); | |
$query->set( 'order', 'ASC' ); | |
$query->set( 'suppress_filters', 'true' ); | |
} | |
print_r($query);die(); | |
} | |
add_filter( 'wp_trim_excerpt', 'my_custom_excerpt', 10, 2 ); | |
function my_custom_excerpt($text, $raw_excerpt) { | |
if( ! $raw_excerpt ) { | |
$content = apply_filters( 'the_content', strip_shortcodes( get_the_content() ) ); | |
$text = substr( $content, 0, strpos( $content, '</p>' ) + 4 ); | |
} | |
$text = preg_replace("/<img[^>]+\>/i", "", $text); | |
return $text; | |
} | |
function prefix_reset_metabox_positions(){ | |
delete_user_meta( 1, 'meta-box-order_post' ); | |
delete_user_meta( 1, 'meta-box-order_page' ); | |
delete_user_meta( 1, 'meta-box-order_custom_post_type' ); | |
} | |
add_action( 'admin_init', 'prefix_reset_metabox_positions' ); | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment