= 2 || $page >= 2)
$full_title .= ' | '.sprintf( __('Page %s', 'cpocore'), max($paged, $page));
return $title;
}
}
//Displays the current page's title. Used in the main banner area.
if(!function_exists('cpotheme_page_title')){
function cpotheme_page_title(){
global $post;
if(isset($post->ID)) $current_id = $post->ID; else $current_id = false;
$title_tag = function_exists('is_woocommerce') && is_woocommerce() && is_singular('product') ? 'span' : 'h1';
echo '<'.$title_tag.' class="pagetitle-title heading">';
if(function_exists('is_woocommerce') && is_woocommerce()){
woocommerce_page_title();
}elseif(is_category() || is_tag() || is_tax()){
echo single_tag_title('', true);
}elseif(is_author()){
the_author();
}elseif(is_date()){
_e('Archive', 'cpocore');
}elseif(is_404()){
echo __('Page Not Found', 'cpocore');
}elseif(is_search()){
echo __('Search Results for', 'cpocore').' "'.get_search_query().'"';
}else{
echo get_the_title($current_id);
}
echo ''.$title_tag.'>';
}
}
//Displays the current page's title. Used in the main banner area.
if(!function_exists('cpotheme_header_image')){
function cpotheme_header_image(){
$url = apply_filters('cpotheme_header_image', get_header_image());
if($url != '')
return $url;
else
return false;
}
}
//Displays a Revolution Slider assigned to the current page.
if(!function_exists('cpotheme_header_slider')){
function cpotheme_header_slider(){
if(function_exists('putRevSlider')){
$current_id = cpotheme_current_id();
if(is_tax() || is_category() || is_tag())
$page_slider = cpotheme_tax_meta($current_id, 'page_slider');
else
$page_slider = get_post_meta($current_id, 'page_slider', true);
if($page_slider != '0' && $page_slider != ''){
echo '
';
putRevSlider($page_slider);
echo '
';
}
}
}
}
//Display custom favicon
if(!function_exists('cpotheme_favicon')){
add_action('wp_head','cpotheme_favicon');
function cpotheme_favicon(){
$favicon_url = cpotheme_get_option('general_favicon');
if($favicon_url != '')
echo ' ';
}
}
//Add theme-specific body classes
add_filter('body_class', 'cpotheme_body_class');
function cpotheme_body_class($body_classes = ''){
$current_id = cpotheme_current_id();
$classes = '';
//Sidebar Layout
$classes .= ' sidebar-'.cpotheme_get_sidebar_position();
$body_classes[] = $classes;
return $body_classes;
}
//Display viewport tag
if(!function_exists('cpotheme_viewport')){
add_action('wp_head','cpotheme_viewport');
function cpotheme_viewport(){
echo ' '."\n";
}
}
//Print pingback metatag
if(!function_exists('cpotheme_pingback')){
add_action('wp_head','cpotheme_pingback');
function cpotheme_pingback(){
if(get_option('default_ping_status') == 'open')
echo ' '."\n";
}
}
//Print charset metatag
if(!function_exists('cpotheme_charset')){
add_action('wp_head','cpotheme_charset');
function cpotheme_charset(){
echo ' '."\n";
}
}
//Display shortcut edit links for logged in users
if(!function_exists('cpotheme_edit')){
function cpotheme_edit(){
if(cpotheme_get_option('general_editlinks'))
edit_post_link(__('Edit', 'cpocore'));
}
}
//Display the site's logo
if(!function_exists('cpotheme_logo')){
function cpotheme_logo($width = 0, $height = 0){
$output = '';
if(cpotheme_get_option('general_texttitle') == 0){
if(cpotheme_get_option('general_logo') == ''){
if(defined('CPOTHEME_LOGO_WIDTH')) $width = CPOTHEME_LOGO_WIDTH;
$output .= '
';
}else{
$logo_width = cpotheme_get_option('general_logo_width');
if($logo_width != '') $logo_width = ' style="width:'.esc_attr($logo_width).'px;"';
$output .= '
';
}
}
$classes = '';
if(cpotheme_get_option('general_texttitle') == 0) $classes = ' hidden';
if(!is_front_page()){
$output .= '
'.get_bloginfo('name').' ';
}else{
$output .= '
';
}
$output .= '
';
echo $output;
}
}
//Print an option content
if(!function_exists('cpotheme_block')){
function cpotheme_block($option, $wrapper = '', $subwrapper = ''){
$content = cpotheme_get_option($option);
if(trim($content) != ''){
if($wrapper != '') echo '';
if($subwrapper != '') echo '
';
echo do_shortcode(stripslashes(html_entity_decode(cpotheme_get_option($option))));
if($subwrapper != '') echo '
';
if($wrapper != '') echo '
';
}
}
}
//Print 404 message
if(!function_exists('cpotheme_404')){
function cpotheme_404(){
echo apply_filters('cpotheme_404', __('The requested page could not be found. It could have been deleted or changed location. Try searching for it using the search function.', 'cpocore'));
}
}
//Print subfooter sidebars
if(!function_exists('cpotheme_subfooter')){
function cpotheme_subfooter(){
$footer_columns = 3;
for($count = 1; $count <= $footer_columns; $count++){
if(is_active_sidebar('footer-widgets-'.$count)){
$footer_last = $count == $footer_columns ? ' col-last' : '';
echo '';
dynamic_sidebar('footer-widgets-'.$count);
echo '
';
}
}
echo '
';
}
}
//Print footer copyright line
if(!function_exists('cpotheme_footer')){
function cpotheme_footer(){
echo '';
}
}
//Print submenu navigation
if(!function_exists('cpotheme_submenu')){
function cpotheme_submenu(){
$ancestors = array_reverse(get_post_ancestors(get_the_ID()));
if(empty($ancestors[0]) || $ancestors[0] == 0) $ancestors[0] = get_the_ID();
echo '';
}
}
//Print submenu navigation
if(!function_exists('cpotheme_sitemap')){
function cpotheme_sitemap(){
//Print page list
echo '';
echo '
'.__('Pages', 'cpocore').' ';
echo '
'.wp_list_pages('sort_column=menu_order&title_li=&echo=0').' ';
echo '
';
//Print post categories and tag cloud
echo '';
echo '
'.__('Post Categories', 'cpocore').' ';
echo '
'.wp_list_categories('title_li=&show_count=1&echo=0').' ';
echo '
'.__('Post Tags', 'cpocore').' ';
echo '
'.wp_tag_cloud('echo=0').' ';
echo '
';
echo '
';
}
}
//Enqueue custom font stylesheets from Google Fonts
if(!function_exists('cpotheme_fonts')){
function cpotheme_fonts($font_name, $load_variants = false){
$font_variants = $load_variants != false ? ':100,300,400,700' : '';
if(is_array($font_name)){
foreach($font_name as $current_font)
if(!in_array($current_font, array('Arial', 'Georgia', 'Times+New+Roman', 'Verdana'))){
$font_id = 'cpotheme-font-'.strtolower(str_replace('+', '-', $current_font));
wp_enqueue_style($font_id, '//fonts.googleapis.com/css?family='.str_replace('%2B', '+', rawurlencode($current_font.$font_variants)));
}
}else{
if(!in_array($font_name, array('Arial', 'Georgia', 'Times+New+Roman', 'Verdana'))){
$font_id = 'cpotheme-font-'.strtolower(str_replace('+', '-', $font_name));
wp_enqueue_style($font_id, '//fonts.googleapis.com/css?family='.str_replace('%2B', '+', rawurlencode($font_name.$font_variants)));
}
}
}
}
//Creates a grid of columns for display templated content, running the WordPress loop
if(!function_exists('cpotheme_grid')){
function cpotheme_grid($posts, $element, $template, $columns = 3, $args = null){
if($posts == null){
cpotheme_grid_default($element, $template, $columns, $args);
}else{
global $post;
cpotheme_grid_custom($posts, $element, $template, $columns, $args);
}
}
}
//Runs the grid using the default loop
if(!function_exists('cpotheme_grid_default')){
function cpotheme_grid_default($element, $template, $columns = 3, $args = null){
$class = isset($args['class']) ? $args['class'] : '';
if($columns == '') $columns = 3;
echo '';
$count = 0;
while(have_posts()){
the_post();
if($count % $columns == 0 && $count > 0) echo '
';
$count++;
echo '
';
get_template_part($element, $template);
echo '
';
}
echo '
';
}
}
//Runs the grid using a custom loop
if(!function_exists('cpotheme_grid_custom')){
function cpotheme_grid_custom($posts, $element, $template, $columns = 3, $args = null){
global $post;
$class = isset($args['class']) ? $args['class'] : '';
if($columns == '') $columns = 3;
echo '';
$count = 0;
foreach($posts as $post){
setup_postdata($post);
if($count % $columns == 0 && $count > 0) echo '
';
$count++;
echo '
';
get_template_part($element, $template);
echo '
';
}
echo '
';
}
}
//Adds custom css code in the footer
if(!function_exists('cpotheme_layout_css')){
add_action('wp_head','cpotheme_layout_css', 25);
function cpotheme_layout_css(){
$output = cpotheme_get_option('general_css');
if($output != ''){
$output = '';
echo $output;
}
}
}
// Generates breadcrumb navigation
if(!function_exists('cpotheme_breadcrumb')){
function cpotheme_breadcrumb($display = false){
if(!is_home() && !is_front_page()){
//Use WooCommerce navigation if it's a shop page
if(function_exists('is_woocommerce') && function_exists('woocommerce_breadcrumb') && is_woocommerce()){
woocommerce_breadcrumb();
return;
}
$result = '';
if(function_exists('yoast_breadcrumb')){
$result = yoast_breadcrumb('','', false);
}
if($result == ''){
global $post;
if(is_object($post)) $pid = $post->ID; else $pid = '';
$result = '';
if($pid != ''){
$result = " ";
//Add post hierarchy
if(is_singular()):
$post_data = get_post($pid);
$result .= "".apply_filters('the_title', $post_data->post_title)." \n";
//Add post hierarchy
while($post_data->post_parent):
$post_data = get_post($post_data->post_parent);
$result = "".apply_filters('the_title', $post_data->post_title)." \n".$result;
endwhile;
elseif(is_tax()):
$result .= single_tag_title('', false);
elseif(is_author()):
$author = get_userdata(get_query_var('author'));
$result .= $author->display_name;
//Prefix with a taxonomy if possible
elseif(is_category()):
$post_data = get_the_category($pid);
if(isset($post_data[0])):
$data = get_category_parents($post_data[0]->cat_ID, TRUE, ' » ');
if(!is_object($data)):
$result .= substr($data, 0, -8);
endif;
endif;
elseif(is_search()):
$result .= __('Search Results', 'cpocore');
else:
if(isset($post->ID)) $current_id = $post->ID; else $current_id = false;
if($current_id){
$result .= get_the_title($current_id);
}
endif;
}elseif(is_404()){
$result = " ";
$result .= __('Page Not Found', 'cpocore');
}
$result = ''.__('Home', 'cpocore').' '.$result;
}
$output = ''.$result.'
';
echo $output;
}
}
}
//Displays the post image on listings and blog posts
if(!function_exists('cpotheme_postpage_image')){
function cpotheme_postpage_image(){
if(has_post_thumbnail()){
if(!is_singular('post')){
echo '';
the_post_thumbnail('portfolio');
echo ' ';
}else{
the_post_thumbnail();
}
}
}
}
//Displays the post title on listings
if(!function_exists('cpotheme_postpage_title')){
function cpotheme_postpage_title(){
if(!is_singular('post')){
echo '';
}
}
}
//Displays the post content
if(!function_exists('cpotheme_postpage_content')){
function cpotheme_postpage_content(){
if(cpotheme_get_option('postpage_preview') === true || is_singular('post')){
the_content();
cpotheme_post_pagination();
}else{
the_excerpt();
}
}
}
//Displays the post date
if(!function_exists('cpotheme_postpage_date')){
function cpotheme_postpage_date($display = false, $date_format = '', $format_text =''){
if($date_format != '') {
$date_string = get_the_date($date_format);
}
else{
$date_format = get_option('date_format');
$date_string = get_the_date($date_format);
}
if($format_text != '') $date_string = sprintf($format_text, $date_string);
echo ''.$date_string.'
';
}
}
//Displays the author link
if(!function_exists('cpotheme_postpage_author')){
function cpotheme_postpage_author($display = false, $format_text =''){
$author_alt = sprintf(esc_attr__('View all posts by %s', 'cpocore'), get_the_author());
$author = sprintf('%3$s ', get_author_posts_url(get_the_author_meta('ID')), $author_alt,get_the_author());
if($format_text != ''){
$author = sprintf($format_text, $author);
}
echo ''.$author.'
';
}
}
//Displays the category list for the current post
if(!function_exists('cpotheme_postpage_categories')){
function cpotheme_postpage_categories($display = false, $format_text =''){
$category_list = get_the_category_list(', ');
if($format_text != ''){
$category_list = sprintf($format_text, $category_list);
}
echo ''.$category_list.'
';
}
}
//Displays the number of comments for the post
if(!function_exists('cpotheme_postpage_comments')){
function cpotheme_postpage_comments($display = false, $format_text = ''){
$comments_num = get_comments_number();
//Format comment texts
if($format_text != ''){
$text = $format_text;
}else{
if($comments_num == 0)
$text = __('No Comments', 'cpocore');
elseif($comments_num == 1)
$text = __('One Comment', 'cpocore');
else
$text = __('%1$s Comments', 'cpocore');
}
$comments = sprintf($text, number_format_i18n($comments_num));
echo '';
}
}
//Displays the post tags
if(!function_exists('cpotheme_postpage_tags')){
function cpotheme_postpage_tags($display = false, $before = '', $separator = ', ', $after = ''){
echo '';
the_tags($before, $separator, $after);
echo '
';
}
}
//Display Read More link for post excerpts
if(!function_exists('cpotheme_postpage_readmore')){
function cpotheme_postpage_readmore($classes = ''){
if(!is_singular('post')){
echo '';
echo apply_filters('cpotheme_readmore', __('Read More', 'cpotheme'));
echo ' ';
}
}
}
//Displays the author box
if(!function_exists('cpotheme_author')){
function cpotheme_author(){
if(get_the_author_meta('description')){
if(function_exists('ts_fab_add_author_box')){
echo ts_fab_add_author_box('');
}else{
echo '';
echo '
'.get_avatar(get_the_author_meta('user_email'), 100).'
';
echo '
';
echo '
';
echo '
';
the_author_meta('description');
echo '
';
//Social links
echo '
';
$user_meta = get_the_author_meta('user_url');
if($user_meta != '')
echo '
'.__('Website', 'cpocore').' ';
$user_meta = get_the_author_meta('facebook');
if($user_meta != '')
echo '
'.__('Facebook', 'cpocore').' ';
$user_meta = get_the_author_meta('twitter');
if($user_meta != '')
echo '';
$user_meta = get_the_author_meta('googleplus');
if($user_meta != '')
echo '
'.__('Google+', 'cpocore').' ';
do_action('cpotheme_author_links');
echo '
';
echo '
';
echo '
';
}
}
}
remove_filter('the_content', 'ts_fab_add_author_box', 15);
}
//Displays visual media of a particular post
if(!function_exists('cpotheme_post_media')){
function cpotheme_post_media($post_id){
the_post_thumbnail('full', array('class' => 'single-image'));
}
}
//Paginates a single post's content by using a numbered list
if(!function_exists('cpotheme_pagination')){
function cpotheme_pagination(){
$query = $GLOBALS['wp_query'];
$current_page = max(1, absint($query->get('paged')));
$total_pages = max(1, absint($query->max_num_pages));
if($total_pages == 1) return;
$pages_to_show = 8;
$larger_page_to_show = 10;
$larger_page_multiple = 2;
$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 = $current_page - $half_page_start;
$end_page = $current_page + $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 > $total_pages){
$start_page = $total_pages - $pages_to_show_minus_1;
$end_page = $total_pages;
}
if($start_page < 1)
$start_page = 1;
$out = '';
//First Page Link
if(1 == $current_page)
$out .= ''.__('First', 'cpocore').' ';
else
$out .= '';
//Show each page
foreach(range($start_page, $end_page) as $i){
if($i == $current_page)
$out .= "$i ";
else
$out .= '';
}
//Last Page Link
if($total_pages == $current_page)
$out .= ''.__('Last', 'cpocore').' ';
else
$out .= '';
$out = '';
echo $out;
}
}
//Paginates a list of posts, such as the blog or portfolio
if(!function_exists('cpotheme_numbered_pagination')){
function cpotheme_numbered_pagination($query = ''){
global $wp_query;
if($query != '')
$total_pages = $query->max_num_pages;
else
$total_pages = $wp_query->max_num_pages;
if($total_pages > 1){
echo '';
}
}
}
//Paginates a single post by using a numbered list
if(!function_exists('cpotheme_post_pagination')){
function cpotheme_post_pagination(){
wp_link_pages(array('before' => '', 'pagelink' => '% ', 'separator' => ''));
}
}
//Prints the main navigation menu
if(!function_exists('cpotheme_menu')){
function cpotheme_menu($options = null){
if(has_nav_menu('main_menu')){
if(isset($options['toggle']) && $options['toggle'] == true) cpotheme_menu_toggle();
wp_nav_menu(array('menu_id' => 'menu-main', 'menu_class' => 'menu-main', 'theme_location' => 'main_menu', 'depth' => '4', 'container' => false, 'walker' => new Cpotheme_Menu_Walker()));
}
}
}
//Prints the mobile navigation menu
if(!function_exists('cpotheme_mobile_menu')){
add_action('wp_footer', 'cpotheme_mobile_menu');
function cpotheme_mobile_menu($options = null){
if(has_nav_menu('main_menu')){
echo '';
wp_nav_menu(array('menu_id' => 'menu-mobile', 'menu_class' => 'menu-mobile', 'theme_location' => 'main_menu', 'depth' => '4', 'container' => false, 'walker' => new Cpotheme_Menu_Walker()));
}
}
}
//Prints the main navigation menu
if(!function_exists('cpotheme_menu_toggle')){
function cpotheme_menu_toggle(){
if(has_nav_menu('main_menu'))
echo '';
}
}
//Prints the footer navigation menu
if(!function_exists('cpotheme_top_menu')){
function cpotheme_top_menu(){
if(has_nav_menu('top_menu')){
echo '';
}
}
}
//Prints the footer navigation menu
if(!function_exists('cpotheme_footer_menu')){
function cpotheme_footer_menu(){
if(has_nav_menu('footer_menu')){
echo '';
}
}
}
//Print comment protected message
if(!function_exists('cpotheme_comments_protected')){
function cpotheme_comments_protected(){
if(post_password_required()){
echo '';
return true;
}
return false;
}
}
//Print comment list title
if(!function_exists('cpotheme_comments_title')){
function cpotheme_comments_title(){
echo '';
}
}
//Print comment markup
if(!function_exists('cpotheme_comment')){
function cpotheme_comment($comment, $args, $depth){
$GLOBALS['comment'] = $comment;
//Normal Comments
switch($comment->comment_type): case '': ?>
id="comment-">
1 && get_option('page_comments')){
echo '';
}
}
}