for posts and comments.
add_theme_support( 'automatic-feed-links' );
// Enable support for Post Thumbnails, and declare two sizes.
add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 672, 372, true );
add_image_size( 'newspaper-full-width', 1038, 576, true );
// This theme uses wp_nav_menu() in two locations.
register_nav_menus( array(
'primary' => __( 'Top primary menu', 'newspaper' ),
'footer' => __( 'Footer menu', 'newspaper' ),
) );
/*
* 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',
) );
/*
* Enable support for Post Formats.
* See http://codex.wordpress.org/Post_Formats
*/
add_theme_support( 'post-formats', array(
'aside', 'image', 'video', 'audio', 'quote', 'link', 'gallery',
) );
// This theme allows users to set a custom background.
add_theme_support( 'custom-background', apply_filters( 'newspaper_custom_background_args', array(
'default-color' => 'f5f5f5',
) ) );
// This theme uses its own gallery styles.
add_filter( 'use_default_gallery_style', '__return_false' );
}
endif; // _99theme_newspaper_setup
add_action( 'after_setup_theme', '_99theme_newspaper_setup' );
/**
* Adjust content_width value for image attachment template.
*
* @since NewsPaper 1.0
*
* @return void
*/
function _99theme_newspaper_content_width() {
if ( is_attachment() && wp_attachment_is_image() ) {
$GLOBALS['content_width'] = 810;
}
}
add_action( 'template_redirect', '_99theme_newspaper_content_width' );
/**
* Register three NewsPaper widget areas.
*
* @since NewsPaper 1.0
*
* @return void
*/
function _99theme_newspaper_widgets_init() {
require get_template_directory() . '/inc/widgets.php';
register_widget( 'NewsPaper_Ephemera_Widget' );
register_sidebar( array(
'name' => __( '99THEME | Calendar Box', 'newspaper' ),
'id' => 'sidebar-4',
'description' => __( 'Calendar box that appears on the left.', 'newspaper' ),
'before_widget' => '',
'before_title' => '
',
) );
register_sidebar( array(
'name' => __( '99THEME | Custom Menu Box', 'newspaper' ),
'id' => 'sidebar-5',
'description' => __( 'Custom box that appears on the left.', 'newspaper' ),
'before_widget' => '',
'before_title' => '',
) );
register_sidebar( array(
'name' => __( '99THEME | Recent Comments Box', 'newspaper' ),
'id' => 'sidebar-6',
'description' => __( 'Recent comments box that appears on the left.', 'newspaper' ),
'before_widget' => '',
'before_title' => '',
) );
}
add_action( 'widgets_init', '_99theme_newspaper_widgets_init' );
/**
* Register Lato Google font for NewsPaper.
*
* @since NewsPaper 1.0
*
* @return string
*/
function _99theme_newspaper_font_url() {
$font_url = '';
/*
* Translators: If there are characters in your language that are not supported
* by Lato, translate this to 'off'. Do not translate into your own language.
*/
if ( 'off' !== _x( 'on', 'Lato font: on or off', 'newspaper' ) ) {
$font_url = add_query_arg( 'family', urlencode( 'Lato:300,400,700,900,300italic,400italic,700italic' ), "//fonts.googleapis.com/css" );
}
return $font_url;
}
/**
* Enqueue scripts and styles for the front end.
*
* @since NewsPaper 1.0
*
* @return void
*/
function _99theme_newspaper_scripts() {
// Add reset stylesheet.
wp_enqueue_style( 'newspaper-reset', get_template_directory_uri() . '/css/reset.css', array(), '3.0.2' );
// Add typography stylesheet.
wp_enqueue_style( 'newspaper-typography', get_template_directory_uri() . '/css/typography.css', array(), '3.0.2' );
// Add form stylesheet.
wp_enqueue_style( 'newspaper-form', get_template_directory_uri() . '/css/form.css', array(), '3.0.2' );
// Add Genericons font, used in the main stylesheet.
wp_enqueue_style( 'genericons', get_template_directory_uri() . '/genericons/genericons.css', array(), '3.0.2' );
// Load our main stylesheet.
wp_enqueue_style( 'newspaper-style', get_stylesheet_uri(), array( 'genericons' ) );
// Load the Internet Explorer specific stylesheet.
wp_enqueue_style( 'newspaper-ie', get_template_directory_uri() . '/css/ie.css', array( 'newspaper-style', 'genericons' ), '20131205' );
wp_style_add_data( 'newspaper-ie', 'conditional', 'lt IE 9' );
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
wp_enqueue_script( 'comment-reply' );
}
if ( is_singular() && wp_attachment_is_image() ) {
wp_enqueue_script( 'newspaper-keyboard-image-navigation', get_template_directory_uri() . '/js/keyboard-image-navigation.js', array( 'jquery' ), '20130402' );
}
if ( is_active_sidebar( 'sidebar-3' ) ) {
wp_enqueue_script( 'jquery-masonry' );
}
wp_enqueue_script( 'newspaper-header-js', get_template_directory_uri() . '/js/header.js', array( 'jquery' ), '', false );
wp_enqueue_script( 'newspaper-script', get_template_directory_uri() . '/js/functions.js', array( 'jquery' ), '20131209', true );
wp_enqueue_script( 'newspaper-black-white', get_template_directory_uri() . '/js/grayscale.js', array( 'jquery' ), '', true );
wp_enqueue_script( 'newspaper-text-responsive', get_template_directory_uri() . '/js/jquery.fittext.js', array( 'jquery' ), '', true );
wp_enqueue_script( 'newspaper-footer-js', get_template_directory_uri() . '/js/footer.js', array( 'jquery' ), '', true );
}
add_action( 'wp_enqueue_scripts', '_99theme_newspaper_scripts' );
/**
* Enqueue Google fonts style to admin screen for custom header display.
*
* @since NewsPaper 1.0
*
* @return void
*/
function _99theme_newspaper_admin_fonts() {
wp_enqueue_style( 'newspaper-lato', _99theme_newspaper_font_url(), array(), null );
}
add_action( 'admin_print_scripts-appearance_page_custom-header', '_99theme_newspaper_admin_fonts' );
if ( ! function_exists( '_99theme_newspaper_the_attached_image' ) ) :
/**
* Print the attached image with a link to the next attached image.
*
* @since NewsPaper 1.0
*
* @return void
*/
function _99theme_newspaper_the_attached_image() {
$post = get_post();
/**
* Filter the default NewsPaper attachment size.
*
* @since NewsPaper 1.0
*
* @param array $dimensions {
* An array of height and width dimensions.
*
* @type int $height Height of the image in pixels. Default 810.
* @type int $width Width of the image in pixels. Default 810.
* }
*/
$attachment_size = apply_filters( 'newspaper_attachment_size', array( 810, 810 ) );
$next_attachment_url = wp_get_attachment_url();
/*
* Grab the IDs of all the image attachments in a gallery so we can get the URL
* of the next adjacent image in a gallery, or the first image (if we're
* looking at the last image in a gallery), or, in a gallery of one, just the
* link to that image file.
*/
$attachment_ids = get_posts( array(
'post_parent' => $post->post_parent,
'fields' => 'ids',
'numberposts' => -1,
'post_status' => 'inherit',
'post_type' => 'attachment',
'post_mime_type' => 'image',
'order' => 'ASC',
'orderby' => 'menu_order ID',
) );
// If there is more than 1 attachment in a gallery...
if ( count( $attachment_ids ) > 1 ) {
foreach ( $attachment_ids as $attachment_id ) {
if ( $attachment_id == $post->ID ) {
$next_id = current( $attachment_ids );
break;
}
}
// get the URL of the next image attachment...
if ( $next_id ) {
$next_attachment_url = get_attachment_link( $next_id );
}
// or get the URL of the first image attachment.
else {
$next_attachment_url = get_attachment_link( array_shift( $attachment_ids ) );
}
}
printf( '%2$s',
esc_url( $next_attachment_url ),
wp_get_attachment_image( $post->ID, $attachment_size )
);
}
endif;
if ( ! function_exists( '_99theme_newspaper_list_authors' ) ) :
/**
* Print a list of all site contributors who published at least one post.
*
* @since NewsPaper 1.0
*
* @return void
*/
function _99theme_newspaper_list_authors() {
$contributor_ids = get_users( array(
'fields' => 'ID',
'orderby' => 'post_count',
'order' => 'DESC',
'who' => 'authors',
) );
foreach ( $contributor_ids as $contributor_id ) :
$post_count = count_user_posts( $contributor_id );
// Move on if user has not published a post (yet).
if ( ! $post_count ) {
continue;
}
?>
= 2 || $page >= 2 ) {
$title = "$title $sep " . sprintf( __( 'Page %s', 'newspaper' ), max( $paged, $page ) );
}
return $title;
}
add_filter( 'wp_title', '_99theme_newspaper_wp_title', 10, 2 );
// Implement Custom Header features.
require get_template_directory() . '/inc/custom-header.php';
// Custom template tags for this theme.
require get_template_directory() . '/inc/template-tags.php';
// Add Theme Customizer functionality.
require get_template_directory() . '/inc/customizer.php';
function _99theme_newspaper_breadcrumb() {
global $post;
echo '';
if (is_home()&& empty($_GET['paged'])){
echo '- ';
echo 'You are here: Home';
echo '
';
}
if (!is_home()) {
echo '- ';
echo 'You are here: Home';
echo '
- ›
';
if (is_category() || is_single()) {
echo '- ';
the_category('
- ›
- ');
if (is_single()) {
echo '
- ›
- ';
the_title();
echo '
';
}
} elseif (is_page()) {
if($post->post_parent){
$anc = get_post_ancestors( $post->ID );
$title = get_the_title();
foreach ( $anc as $ancestor ) {
$output = '- '.get_the_title($ancestor).'
- ›
';
}
echo $output;
echo ' '.$title.'';
} else {
echo '- '.get_the_title().'
';
}
}
}
elseif (is_tag()) {single_tag_title();}
elseif (is_day()) {echo"- You are here: Archive for "; the_time(get_option('F jS, Y')); echo'
';}
elseif (is_month()) {echo"- You are here: Archive for "; the_time(get_option('F, Y')); echo'
';}
elseif (is_year()) {echo"- You are here: Archive for "; the_time(get_option('Y')); echo'
';}
elseif (is_author()) {echo"- You are here: Author Archive"; echo'
';}
elseif (isset($_GET['paged']) && !empty($_GET['paged'])) {echo "- You are here: Blog Archives"; echo'
';}
elseif (is_search()) {echo"- You are here: Search Results"; echo'
';}
elseif (is_404()) {echo"- You are here: Error 404"; echo'
';}
echo '
';
}