Skip to content

Instantly share code, notes, and snippets.

@oskarhane
Created August 13, 2013 19:26
Show Gist options
  • Save oskarhane/6224756 to your computer and use it in GitHub Desktop.
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
<?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 &raquo;</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 = "&laquo";
echo '<li class="prev"><a href="'.get_pagenum_link().'" title="First">'.$first_page_text.'</a></li>';
}
echo '<li class="">';
previous_posts_link('&larr; 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 &rarr;');
echo '</li>';
if ($end_page < $max_page) {
$last_page_text = "&raquo;";
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