ID, 'magazinex_post_layout', true ) );
}
if( is_page_template( array( 'page-templates/full-width.php', 'page-templates/frontpage.php' ) ) ) {
$classes[] = 'full-width';
}
else {
$classes[] = magazinex_external_current_layout();
$classes[] = esc_attr( get_theme_mod('sidebar_position') );
}
return $classes;
}
add_filter( 'body_class', 'magazinex_body_classes' );
/**
* Add custom post classes.
*-----------------------------------------------------------------*/
function magazinex_post_classes( $classes ) {
global $post;
// Layout.
if( is_page_template( 'page-templates/frontpage.php' ) ) {
$class_key = array_search( 'page', $classes );
if ( false !== $class_key ) {
$classes[] = 'front-page';
}
}
$layout = magazinex_external_current_layout();
if ( 'layout-default' != $layout ) {
$class_key = array_search( 'post', $classes );
if ( false !== $class_key ) {
$classes[] = 'grid-item';
}
}
return $classes;
}
add_filter( 'post_class', 'magazinex_post_classes' );
/**
* Custom Excerpt lengths.
*-----------------------------------------------------------------*/
function magazinex_external_excerpt_lengths( $lengths ) {
return 20;
}
add_filter( 'excerpt_length', 'magazinex_external_excerpt_lengths', 98 );
/**
* Remove [...] from the excerpt.
*-----------------------------------------------------------------*/
add_filter( 'excerpt_more', '__return_null' );
/**
* Custom more link text from the content.
*-----------------------------------------------------------------*/
function magazinex_external_more_link_text( $link, $more_link_text ) {
if( $more_link_text ) {
$link = sprintf( '%s', esc_url( get_permalink() ), esc_html__( 'Read more', 'magazinex-lite' ) );
}
return $link;
}
add_filter( 'the_content_more_link', 'magazinex_external_more_link_text', 10, 2 );
/**
* Get current layout options.
*-----------------------------------------------------------------*/
function magazinex_external_current_layout() {
if( is_home() ) {
$layout = get_theme_mod( 'home_layout' );
}
elseif( is_page_template( 'page-templates/frontpage.php' ) ) {
$layout = get_theme_mod( 'front_layout' );
}
elseif( is_archive() || is_search() || is_404() ) {
$layout = get_theme_mod( 'archive_layout' );
}
else {
$layout = 'layout-default';
}
return $layout;
}
/**
* Set new content width with current layout.
*-----------------------------------------------------------------*/
function magazinex_external_content_width() {
$layout = magazinex_external_current_layout();
if( is_page_template( array( 'template-fullwidth.php', 'page-templates/frontpage.php' ) ) ) {
$GLOBALS['content_width'] = 980;
}
elseif( 'layout-two-columns' == $layout ) {
$GLOBALS['content_width'] = 300;
}
elseif( 'layout-two-columns-fully' == $layout ) {
$GLOBALS['content_width'] = 470;
}
}
add_action( 'template_redirect', 'magazinex_external_content_width' );
/**
* Get custom post formats.
*-----------------------------------------------------------------*/
function magazinex_external_post_formats( $post_id, $output ) {
// Video Post.
if( has_post_format( 'video', $post_id ) && $video = get_post_meta( $post_id, 'magazinex_post_video', true ) ) {
if( !empty( $video ) ) {
$content = do_shortcode( apply_filters( 'the_content', $video ) );
$media = get_media_embedded_in_content( $content, array( 'video', 'iframe', 'object', 'embed' ) );
foreach( $media as $order => $html ) {
if( strpos( $html, 'video controls="controls"' ) === false ) {
$output = $html;
break;
}
}
}
}
// Audio Post.
elseif( has_post_format( 'audio', $post_id ) && $audio = get_post_meta( $post_id, 'magazinex_post_audio', true ) ) {
if( !empty( $audio ) ) {
$content = do_shortcode( apply_filters( 'the_content', $audio ) );
$media = get_media_embedded_in_content( $content, array( 'audio', 'iframe', 'object', 'embed' ) );
foreach( $media as $order => $html ) {
if( strpos( $html, 'audio controls="controls"' ) === false ) {
if( strpos( $html, 'wp-audio-shortcode' ) ) {
$output .= $html;
}
else {
$output = $html;
}
break;
}
}
}
}
// Gallery Post.
elseif( has_post_format( 'gallery', $post_id ) && $gallery = get_post_meta( $post_id, 'magazinex_post_gallery', true ) ) {
if( $gallery ) {
$gallery = preg_replace('/[^\d]+/', ',', $gallery);
$_gallery = explode( ',', $gallery );
$_gallery = implode( ',', $_gallery );
// $_gallery = strip_tags( rtrim( $_gallery, ',' ) );
$layout = magazinex_external_current_layout();
$size = ( 'layout-default' == $layout ) ? 'full' : 'magazinex-thumbnail';
$link = class_exists( 'easyFancyBox' ) ? 'file' : 'none';
$output = do_shortcode( '[gallery ids="'. $_gallery .'" link="'. $link .'" size="'. $size .'" columns="1"]' );
}
}
// Image Post.
elseif( has_post_format( 'image', $post_id ) ) {
global $post, $posts;
ob_start();
ob_end_clean();
$output = preg_match_all('//i', $post->post_content, $matches);
if ( 0 != $output ) {
$image = $matches [1][0];
}
if( !empty( $image ) ) {
$output = '';
}
}
return $output;
}
add_filter( 'magazinex_post_formats', 'magazinex_external_post_formats', 10, 2 );
/**
* Add custom post classes.
*-----------------------------------------------------------------*/
function magazinex_external_post_classes( $classes ) {
$classes[] = 'clearfix';
if( 'post' == get_post_type() && ! is_single() && ! has_post_thumbnail() ) {
$classes[] = 'no-thumb';
}
if( is_single() & get_theme_mod( 'hide_post_share' ) ) {
$classes[] = 'hide-post-share';
}
return $classes;
}
add_filter( 'post_class', 'magazinex_external_post_classes' );
/**
* Custom search form.
*-----------------------------------------------------------------*/
function magazinex_external_search_form_modify( $html ) {
return str_replace( 'placeholder="Search …"', 'placeholder="'. esc_html__( 'Search and hit enter …', 'magazinex-lite' ) .'"', $html );
}
add_filter( 'get_search_form', 'magazinex_external_search_form_modify' );
/**
* Header Image.
*-----------------------------------------------------------------*/
function magazinex_external_output_custom_header_image( $output ) {
global $post;
$header_bg = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full' );
if( get_header_image() && ! has_post_thumbnail() ) {
$output .= '.site-header { background-image: url("'. get_header_image() .'"); }';
}
if( get_header_image() && has_post_thumbnail() ) {
$output .= '.site-header { background-image: url("'. $header_bg[0] .'"); }';
}
return $output;
}
add_filter( 'magazinex_customizer_css_output', 'magazinex_external_output_custom_header_image' );
/*
* Set post views count using post meta
*/
if( ! function_exists( 'wp_set_post_views' ) ) {
function wp_set_post_views($post_id) {
$key = 'wp_post_views_count';
$count_views = get_post_meta($post_id, $key, true);
if ( $count_views == '' ) {
delete_post_meta($post_id, $key);
add_post_meta($post_id, $key, 1);
} else {
update_post_meta($post_id, $key, ++$count_views);
}
}
}
/*
* Set tracker of the post views count
*/
if( ! function_exists( 'wp_add_count_post_views' ) ) {
function wp_add_count_post_views($post_id) {
if ( ! is_single() ) return;
if (empty ($post_id)) {
global $post;
$post_id = $post->ID;
}
wp_set_post_views($post_id);
}
add_action('wp_head', 'wp_add_count_post_views');
}
/*
* Show post views count
*/
if( ! function_exists( 'wp_get_post_views' ) ) {
function wp_get_post_views($post_id) {
$key = 'wp_post_views_count';
$count = get_post_meta($post_id, $key, true);
if ($count == '') {
delete_post_meta($post_id, $key);
add_post_meta($post_id, $key, 1);
}
echo $count || 1;
}
}