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( 'boron-small-thumbnail', 70, 70, true );
add_image_size( 'boron-full-width', 1170, 400, true );
add_image_size( 'boron-thumbnail', 490, 318, true );
add_image_size( 'boron-thumbnail-large', 650, 411, true );
add_image_size( 'boron-medium-thumbnail', 350, 350, false );
add_image_size( 'boron-related-thumbnail', 255, 170, true );
/*
* 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( 'boron_custom_background_args', array(
'default-color' => 'fff',
) ) );
// This theme uses its own gallery styles.
add_filter( 'use_default_gallery_style', '__return_false' );
add_theme_support( 'title-tag' );
add_theme_support( 'custom-header', array( 'width' => '128', 'height' => '128' ) );
}
endif; // boron_setup
add_action( 'after_setup_theme', 'boron_setup' );
// Admin CSS
function boron_admin_css() {
wp_enqueue_style( 'boron-admin-css', get_template_directory_uri() . '/css/wp-admin.css' );
}
add_action('admin_head','boron_admin_css');
/**
* Returns list of tags for Boron 1.0.
*
* @since Boron 1.0
*
* @return string
*/
function boron_tag_list( $post_id, $return = false ) {
$entry_utility = '';
$posttags = get_the_tags( $post_id );
if ( $posttags ) {
$entry_utility .= '
';
foreach( $posttags as $tag ) {
$entry_utility .= $tag->name . ' ';
}
$entry_utility .= '
';
}
if ( $return ) {
return $entry_utility;
} else {
echo $entry_utility;
}
}
/**
* Returns list of tags with links for Boron 1.0.
*
* @since Boron 1.0
*
* @return string
*/
function boron_tag_link_list( $post_id, $return = false ) {
$entry_utility = '';
$posttags = get_the_tags( $post_id );
if ( $posttags ) {
$entry_utility .= '
' . __('Tags', 'boron') . '';
foreach( $posttags as $tag ) {
$entry_utility .= '
' . $tag->name . ' ';
}
$entry_utility .= '
';
}
if ( $return ) {
return $entry_utility;
} else {
echo $entry_utility;
}
}
/**
* Returns list of categories for Boron 1.0.
*
* @since Boron 1.0
*
* @return string
*/
function boron_category_list( $post_id, $return = false ) {
$category_list = get_the_category_list( ', ', '', $post_id );
$entry_utility = '';
if ( $category_list ) {
$entry_utility .= '
' . $category_list . '
';
}
if ( $return ) {
return $entry_utility;
} else {
echo $entry_utility;
}
}
/**
* Returns list of categories with links for Boron 1.0.
*
* @since Boron 1.0
*
* @return string
*/
function boron_category_link_list( $post_id, $return = false ) {
$category_list = get_the_category_list( ', ', '', $post_id );
$entry_utility = '';
if ( $category_list ) {
$entry_utility .= '
' . __('Categories', 'boron') . '' . $category_list . '
';
}
if ( $return ) {
return $entry_utility;
} else {
echo $entry_utility;
}
}
/**
* Returnscomment count for Boron 1.0.
*
* @since Boron 1.0
*
* @return string
*/
function boron_comment_count( $post_id ) {
$comments = wp_count_comments($post_id);
return $comments->approved;
}
/**
* Adjust content_width value for image attachment template.
*
* @since Boron 1.0
*
* @return void
*/
function boron_content_width() {
if ( is_attachment() && wp_attachment_is_image() ) {
$GLOBALS['content_width'] = 810;
}
}
add_action( 'template_redirect', 'boron_content_width' );
/**
* Register Lato Google font for Boron 1.0.
*
* @since Boron 1.0
*
* @return string
*/
function boron_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.
*/
$font_url = add_query_arg( 'family', urlencode( 'Open+Sans:400,100,300' ), "//fonts.googleapis.com/css" );
return $font_url;
}
/**
* Limits the post excerpt for Boron 1.0.
*
* @since Boron 1.0
*
* @return string
*/
function boron_excerpt_length( $length ) {
return 20;
}
add_filter( 'excerpt_length', 'boron_excerpt_length', 999 );
/**
* Enqueue scripts and styles for the front end.
*
* @since Boron 1.0
*
* @return void
*/
function boron_scripts() {
wp_enqueue_style( 'bootstrap', get_template_directory_uri() . '/css/bootstrap.css', array() );
// Add Google fonts
wp_register_style('googleFonts', '//fonts.googleapis.com/css?family=Proxima+Nova:300,400,600,700&subset=latin');
wp_enqueue_style( 'googleFonts');
// 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( 'boron-style', get_stylesheet_uri(), array( 'genericons' ) );
// Load the Internet Explorer specific stylesheet.
wp_enqueue_style( 'boron-ie', get_template_directory_uri() . '/css/ie.css', array( 'boron-style', 'genericons' ), '20131205' );
wp_style_add_data( 'boron-ie', 'conditional', 'lt IE 9' );
wp_enqueue_script( 'comment-reply' );
wp_enqueue_script( 'boron-script', get_template_directory_uri() . '/js/functions.js', array( 'jquery' ), '20131209', true );
wp_enqueue_script( 'bootstrap', get_template_directory_uri() . '/js/bootstrap.js', array( 'jquery' ), '20131209', true );
wp_enqueue_style( 'animate', get_template_directory_uri() . '/css/animate.min.css', array() );
wp_enqueue_script( 'jquery.isotope', get_template_directory_uri() . '/js/jquery.isotope.min.js', array( 'jquery' ), '', true );
wp_enqueue_script( 'jquery.imagesloaded', get_template_directory_uri() . '/js/imagesloaded.pkgd.min.js', array( 'jquery' ), '', true );
wp_enqueue_script( 'jquery-ui-draggable' );
wp_localize_script(
'boron-script',
'WP_API_Settings',
array(
'root' => esc_url_raw( rest_url() ),
'nonce' => wp_create_nonce( 'wp_rest' ),
'posts_per_page' => get_option('posts_per_page'),
'post_comments' => get_theme_mod('boron_comment_location', 'side'),
'home_url' => home_url(),
'dates' => boron_get_archive(),
'post_tax' => boron_get_post_tax(),
'rest_api_status' => function_exists('register_api_field')
)
);
wp_add_inline_style( 'boron-style', boron_set_grid_size() );
// Add html5
wp_enqueue_script( 'html5shiv', get_template_directory_uri() . '/js/html5.js' );
wp_script_add_data( 'html5shiv', 'conditional', 'lt IE 9' );
}
add_action( 'wp_enqueue_scripts', 'boron_scripts' );
/**
* Sets the blog grid size for Boron 1.0.
*
* @since Boron 1.0
*
* @return string
*/
function boron_set_grid_size() {
$column_count = get_theme_mod( 'boron_grid_columns', '4' );
$column_width = 100/(int)$column_count;
return '.main-content article { width: ' . esc_attr($column_width) . '%; }';
}
/**
* Registers the rest api for Boron 1.0.
*
* @since Boron 1.0
*
* @return string
*/
add_action( 'rest_api_init', 'boron_register_extra_filters' );
function boron_register_extra_filters() {
if ( function_exists('register_api_field') ) {
register_api_field( 'post',
'boron_extra',
array(
'get_callback' => 'boron_get_extra_fields',
'update_callback' => null,
'schema' => null,
)
);
}
}
/**
* Add extra return fields for rest api for Boron 1.0.
*
* @since Boron 1.0
*
* @return string
*/
function boron_get_extra_fields( $object, $field_name, $request ) {
if ( isset($object['featured_media']) ) {
$image_id = (int)$object['featured_media'];
$img = wp_get_attachment_image_src( $object['featured_media'], 'boron-medium-thumbnail' );
$image_src = $img['0'];
} else {
$image_src = null;
}
$extra = array();
$extra['image_src'] = $image_src;
$extra['tag_list'] = boron_tag_list( $object['id'], true );
$extra['date_ago'] = human_time_diff(get_the_time('U', $object['id']), current_time('timestamp')) . ' '.__('ago', 'boron');
$extra['comments'] = boron_comment_count( $object['id'] );
$extra['post_template'] = boron_get_single_post( $object['id'] );
$extra['post_side_template'] = boron_get_single_post_side( $object['id'] );
$extra['post_classes'] = implode( ' ', get_post_class('', $object['id'] ) );
return $extra;
}
/**
* Returns an html of a single post for Boron 1.0.
*
* @since Boron 1.0
*
* @return string
*/
function boron_get_single_post( $post_id ) {
$output = '';
// Check if thumbnail exists
$img = wp_get_attachment_image_src( get_post_thumbnail_id( $post_id ), 'boron-full-width' );
if ( !empty($img) ) {
$output .= '';
}
$output .= '' . get_the_title( $post_id ) . '
';
$content_post = get_post( $post_id );
$content = $content_post->post_content;
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
$content = preg_replace('/