Viewing File: /home/maglabs/sfakstar/wp-content/themes/kariez/inc/Modules/PostRelated.php
<?php
/**
* Template part for single team related
*
* @link https://codex.wordpress.org/Template_Hierarchy
*
* @package kariez
*/
namespace RT\Kariez\Modules;
class PostRelated {
public static function rt_post_related() {
$post_id = get_the_id();
$current_post = array( $post_id );
$related_item_number = kariez_option( 'rt_post_related_limit' );
# Making ready to the Query ...
$query_type = kariez_option( 'rt_post_related_query' );
$args = array(
'post__not_in' => $current_post,
'posts_per_page' => $related_item_number,
'no_found_rows' => true,
'post_status' => 'publish',
'ignore_sticky_posts' => true,
'update_post_term_cache' => false,
);
# Checking Related Posts Order ----------
if( kariez_option( 'rt_post_related_sort' ) ){
$post_order = kariez_option( 'rt_post_related_sort' );
if( $post_order == 'rand' ){
$args['orderby'] = 'rand';
}
elseif( $post_order == 'views' ){
$args['orderby'] = 'meta_value_num';
}
elseif( $post_order == 'popular' ){
$args['orderby'] = 'comment_count';
}
elseif( $post_order == 'modified' ){
$args['orderby'] = 'modified';
$args['order'] = 'ASC';
}
elseif( $post_order == 'recent' ){
$args['orderby'] = '';
$args['order'] = '';
}
}
# Get related posts by author ----------
if( $query_type == 'author' ){
$args['author'] = get_the_author_meta( 'ID' );
}
# Get related posts by tags ----------
elseif( $query_type == 'tag' ){
$tags_ids = array();
$post_tags = get_the_terms( $post_id, 'post_tag' );
if( ! empty( $post_tags ) ){
foreach( $post_tags as $individual_tag ){
$tags_ids[] = $individual_tag->term_id;
}
$args['tag__in'] = $tags_ids;
}
}else{
$category_ids = array();
$categories = get_the_category( $post_id );
foreach( $categories as $individual_category ){
$category_ids[] = $individual_category->term_id;
}
$args['category__in'] = $category_ids;
}
# Get the posts ----------
$related_query = new \WP_Query( $args );
if( $related_query->have_posts() && kariez_option( 'rt_post_related' ) ) { ?>
<div class="blog-default rt-related-post">
<div class="container">
<h2 class="related-title"><?php kariez_html( kariez_option( 'rt_post_related_title' ) , 'allow_title' );?></h2>
<div class="row">
<?php while ( $related_query->have_posts() ) {
$related_query->the_post();
$meta_list = kariez_option( 'rt_blog_meta', '', true );
if ( kariez_option( 'rt_blog_above_meta_visibility' ) ) {
$meta_index = array_search( 'category', $meta_list );
unset( $meta_list[ $meta_index ] );
}
?>
<div class="col-sm-6 col-xl-4 col-lg-4" >
<article data-post-id="<?php the_ID(); ?>" <?php post_class( kariez_post_class() ); ?>>
<div class="article-inner-wrapper">
<?php kariez_post_thumbnail('kariez-size3'); ?>
<div class="entry-wrapper">
<header class="entry-related-header">
<?php
kariez_separate_meta( 'title-above-meta' );
the_title( sprintf( '<h2 class="entry-title default-max-width"><a href="%s">', esc_url( get_permalink() ) ), '</a></h2>' );
if ( ! empty( $meta_list ) && kariez_option( 'rt_meta_visibility' ) ) {
echo kariez_post_meta( [
'with_list' => true,
'with_icon' => true,
'include' => $meta_list,
'author_prefix' => kariez_option( 'rt_author_prefix' ),
] );
}
?>
</header>
</div>
</div>
</article>
</div>
<?php } ?>
</div>
</div>
</div>
<?php }
wp_reset_postdata();
}
}
?>
Back to Directory
File Manager