Created
August 13, 2013 19:26
-
-
Save oskarhane/6224756 to your computer and use it in GitHub Desktop.
Fixing WP-Foundation to it doesn't deregister jquery on wp-login.php
This file contains 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 | |
/* Welcome to Bones :) | |
This is the core Bones file where most of the | |
main functions & features reside. If you have | |
any custom functions, it's best to put them | |
in the functions.php file. | |
Developed by: Eddie Machado | |
URL: http://themble.com/bones/ | |
*/ | |
// Adding Translation Option | |
load_theme_textdomain( 'bonestheme', TEMPLATEPATH.'/languages' ); | |
$locale = get_locale(); | |
$locale_file = TEMPLATEPATH."/languages/$locale.php"; | |
if ( is_readable($locale_file) ) require_once($locale_file); | |
// Cleaning up the Wordpress Head | |
function bones_head_cleanup() { | |
global $pagenow; | |
// remove header links | |
remove_action( 'wp_head', 'feed_links_extra', 3 ); // Category Feeds | |
remove_action( 'wp_head', 'feed_links', 2 ); // Post and Comment Feeds | |
remove_action( 'wp_head', 'rsd_link' ); // EditURI link | |
remove_action( 'wp_head', 'wlwmanifest_link' ); // Windows Live Writer | |
remove_action( 'wp_head', 'index_rel_link' ); // index link | |
remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 ); // previous link | |
remove_action( 'wp_head', 'start_post_rel_link', 10, 0 ); // start link | |
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 ); // Links for Adjacent Posts | |
remove_action( 'wp_head', 'wp_generator' ); // WP version | |
if (!is_admin() && $pagenow !== 'wp-login.php') { | |
wp_deregister_script('jquery'); // De-Register jQuery | |
wp_register_script('jquery', '', '', '', true); // It's already in the Header | |
} | |
} | |
// launching operation cleanup | |
add_action('init', 'bones_head_cleanup'); | |
// remove WP version from RSS | |
function bones_rss_version() { return ''; } | |
add_filter('the_generator', 'bones_rss_version'); | |
// loading jquery reply elements on single pages automatically | |
function bones_queue_js(){ if (!is_admin()){ if ( is_singular() AND comments_open() AND (get_option('thread_comments') == 1)) wp_enqueue_script( 'comment-reply' ); } | |
} | |
// reply on comments script | |
add_action('wp_print_scripts', 'bones_queue_js'); | |
// Fixing the Read More in the Excerpts | |
// This removes the annoying […] to a Read More link | |
// function bones_excerpt_more($more) { | |
// global $post; | |
// // edit here if you like | |
// return '... <a href="'. get_permalink($post->ID) . '" class="more-link button nice radius" title="Read '.get_the_title($post->ID).'">Read more »</a>'; | |
// } | |
// add_filter('excerpt_more', 'bones_excerpt_more'); | |
// Adding WP 3+ Functions & Theme Support | |
function bones_theme_support() { | |
add_theme_support( 'post-thumbnails' ); // wp thumbnails (sizes handled in functions.php) | |
set_post_thumbnail_size( 125, 125, true ); // default thumb size | |
add_theme_support( 'custom-background' ); // wp custom background | |
add_theme_support( 'automatic-feed-links' ); // rss thingy | |
// to add header image support go here: http://themble.com/support/adding-header-background-image-support/ | |
// adding post format support | |
add_theme_support( 'post-formats', // post formats | |
array( | |
'aside', // title less blurb | |
'gallery', // gallery of images | |
'link', // quick link to other site | |
'image', // an image | |
'quote', // a quick quote | |
'status', // a Facebook like status update | |
'video', // video | |
'audio', // audio | |
'chat' // chat transcript | |
) | |
); | |
add_theme_support( 'menus' ); // wp menus | |
register_nav_menus( // wp3+ menus | |
array( | |
'main_nav' => 'The Main Menu', // main nav in header | |
'footer_links' => 'Footer Links' // secondary nav in footer | |
) | |
); | |
} | |
// launching this stuff after theme setup | |
add_action('after_setup_theme','bones_theme_support'); | |
// adding sidebars to Wordpress (these are created in functions.php) | |
add_action( 'widgets_init', 'bones_register_sidebars' ); | |
// adding the bones search form (created in functions.php) | |
add_filter( 'get_search_form', 'bones_wpsearch' ); | |
function bones_main_nav() { | |
// display the wp3 menu if available | |
wp_nav_menu( | |
array( | |
'menu' => 'main_nav', /* menu name */ | |
'menu_class' => 'top-nav nav-bar hide-for-small', | |
'theme_location' => 'main_nav', /* where in the theme it's assigned */ | |
'container' => 'false', /* container tag */ | |
'fallback_cb' => 'bones_main_nav_fallback', /* menu fallback */ | |
'depth' => '2', | |
'walker' => new description_walker() | |
) | |
); | |
} | |
function bones_mobile_nav() { | |
// display the wp3 menu if available | |
wp_nav_menu( | |
array( | |
'menu' => 'mobile_nav', /* menu name */ | |
'menu_class' => 'side-nav tabs vertical', | |
'theme_location' => 'main_nav', /* where in the theme it's assigned */ | |
'container_class' => 'mobile-nav-container', /* container tag */ | |
'fallback_cb' => 'bones_main_nav_fallback', /* menu fallback */ | |
'depth' => '1' | |
) | |
); | |
} | |
function bones_footer_links() { | |
// display the wp3 menu if available | |
wp_nav_menu( | |
array( | |
'menu' => 'footer_links', /* menu name */ | |
'menu_class' => 'link-list', | |
'theme_location' => 'footer_links', /* where in the theme it's assigned */ | |
'container_class' => 'footer-links clearfix', /* container class */ | |
'fallback_cb' => 'bones_footer_links_fallback', /* menu fallback */ | |
'walker' => new footer_links_walker() | |
) | |
); | |
} | |
// this is the fallback for header menu | |
function bones_main_nav_fallback() { | |
// not calling this in case of multiple level pages - hope to add dropdown menu as an enhancement | |
//wp_page_menu( 'show_home=Home&menu_class=menu' ); | |
} | |
// this is the fallback for footer menu | |
function bones_footer_links_fallback() { | |
/* you can put a default here if you like */ | |
} | |
/****************** PLUGINS & EXTRA FEATURES **************************/ | |
// Related Posts Function (call using bones_related_posts(); ) | |
function bones_related_posts() { | |
echo '<ul id="bones-related-posts">'; | |
global $post; | |
$tags = wp_get_post_tags($post->ID); | |
if($tags) { | |
foreach($tags as $tag) { $tag_arr .= $tag->slug . ','; } | |
$args = array( | |
'tag' => $tag_arr, | |
'numberposts' => 5, /* you can change this to show more */ | |
'post__not_in' => array($post->ID) | |
); | |
$related_posts = get_posts($args); | |
if($related_posts) { | |
foreach ($related_posts as $post) : setup_postdata($post); ?> | |
<li class="related_post"><a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li> | |
<?php endforeach; } | |
else { ?> | |
<li class="no_related_post">No Related Posts Yet!</li> | |
<?php } | |
} | |
wp_reset_query(); | |
echo '</ul>'; | |
} | |
// Numeric Page Navi (built into the theme by default) | |
function page_navi($before = '', $after = '') { | |
global $wpdb, $wp_query; | |
$request = $wp_query->request; | |
$posts_per_page = intval(get_query_var('posts_per_page')); | |
$paged = intval(get_query_var('paged')); | |
$numposts = $wp_query->found_posts; | |
$max_page = $wp_query->max_num_pages; | |
if ( $numposts <= $posts_per_page ) { return; } | |
if(empty($paged) || $paged == 0) { | |
$paged = 1; | |
} | |
$pages_to_show = 7; | |
$pages_to_show_minus_1 = $pages_to_show-1; | |
$half_page_start = floor($pages_to_show_minus_1/2); | |
$half_page_end = ceil($pages_to_show_minus_1/2); | |
$start_page = $paged - $half_page_start; | |
if($start_page <= 0) { | |
$start_page = 1; | |
} | |
$end_page = $paged + $half_page_end; | |
if(($end_page - $start_page) != $pages_to_show_minus_1) { | |
$end_page = $start_page + $pages_to_show_minus_1; | |
} | |
if($end_page > $max_page) { | |
$start_page = $max_page - $pages_to_show_minus_1; | |
$end_page = $max_page; | |
} | |
if($start_page <= 0) { | |
$start_page = 1; | |
} | |
echo $before.'<ul class="pagination clearfix">'.""; | |
if ($paged > 1) { | |
$first_page_text = "«"; | |
echo '<li class="prev"><a href="'.get_pagenum_link().'" title="First">'.$first_page_text.'</a></li>'; | |
} | |
echo '<li class="">'; | |
previous_posts_link('← Previous'); | |
echo '</li>'; | |
for($i = $start_page; $i <= $end_page; $i++) { | |
if($i == $paged) { | |
echo '<li class="current"><a href="#">'.$i.'</a></li>'; | |
} else { | |
echo '<li><a href="'.get_pagenum_link($i).'">'.$i.'</a></li>'; | |
} | |
} | |
echo '<li class="">'; | |
next_posts_link('Next →'); | |
echo '</li>'; | |
if ($end_page < $max_page) { | |
$last_page_text = "»"; | |
echo '<li class="next"><a href="'.get_pagenum_link($max_page).'" title="Last">'.$last_page_text.'</a></li>'; | |
} | |
echo '</ul>'.$after.""; | |
} | |
// remove the p from around imgs (http://css-tricks.com/snippets/wordpress/remove-paragraph-tags-from-around-images/) | |
function filter_ptags_on_images($content){ | |
return preg_replace('/<p>\s*(<a .*>)?\s*(<img .* \/>)\s*(<\/a>)?\s*<\/p>/iU', '\1\2\3', $content); | |
} | |
add_filter('the_content', 'filter_ptags_on_images'); | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment