Skip to content

Instantly share code, notes, and snippets.

@jchristopher
Created March 7, 2016 14:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jchristopher/af62106551c78e9b4494 to your computer and use it in GitHub Desktop.
Save jchristopher/af62106551c78e9b4494 to your computer and use it in GitHub Desktop.
alas, the mess that is my functions.php
<?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