WordPress.org

Ready to get started?Download WordPress

Forums

[Plugin: Contextual Related Posts] Adding author to the display (2 posts)

  1. activeunity
    Member
    Posted 4 years ago #

    To add the author into the information displayed along with the thumbnail, title, and excerpt.
    Line 63 in version 1.6.3

    if ((is_int($post->ID))&&($stuff != '')) {
    		$sql = "SELECT DISTINCT ID,post_title,post_date,post_content,post_author,"
    		. "MATCH(post_title,post_content) AGAINST ('".$stuff."') AS score "
    		. "FROM ".$wpdb->posts." WHERE "
    		. "MATCH (post_title,post_content) AGAINST ('".$stuff."') "
    		. "AND post_date <= '".$now."' "
    		. "AND post_status = 'publish' "
    		. "AND id != ".$post->ID." ";
    		if ($crp_settings['exclude_pages']) $sql .= "AND post_type = 'post' ";
    		$sql .= "ORDER BY score DESC ";
    
    		$search_counter = 0;
    		$searches = $wpdb->get_results($sql);
    	} else {
    		$searches = false;
    	}
    
    	$output = '<div id="crp_related">';
    
    	if($searches){
    		$output .= (stripslashes($crp_settings[title]));
    		$output .= $crp_settings['before_list'];
    		foreach($searches as $search) {
    			$categorys = get_the_category($search->ID);	//Fetch categories of the plugin
    			$p_in_c = false;	// Variable to check if post exists in a particular category
    			$title = get_the_title($search->ID);
    			foreach ($categorys as $cat) {	// Loop to check if post exists in excluded category
    				$p_in_c = (in_array($cat->cat_ID, $exclude_categories)) ? true : false;
    				if ($p_in_c) break;	// End loop if post found in category
    			}
    
    			if (!$p_in_c) {
    				$related_auth = get_author_by_id($search->post_author);
    				$related_auth = $related_auth->display_name;
    
    				$output .= $crp_settings['before_list_item'];
    				if (($crp_settings['post_thumb_op']=='inline')||($crp_settings['post_thumb_op']=='thumbs_only')) {
    					$output .= '<a href="'.get_permalink($search->ID).'" rel="bookmark">';
    					if ((function_exists('has_post_thumbnail')) && (has_post_thumbnail($search->ID))) {
    						$output .= get_the_post_thumbnail( $search->ID, array($crp_settings[thumb_width],$crp_settings[thumb_height]), array('title' => $title,'alt' => $title,'class' => 'crp_thumb','border' => '0'));
    					} else {
    						$postimage = get_post_meta($search->ID, $crp_settings[thumb_meta], true);
    						if ((!$postimage)&&($crp_settings['scan_images'])) {
    							preg_match_all( '|<img.*?src=[\'"](.*?)[\'"].*?>|i', $search->post_content, $matches );
    							// any image there?
    							if( isset( $matches ) && $matches[1][0] ) {
    								$postimage = $matches[1][0]; // we need the first one only!
    							}
    						}
    						if (!$postimage) $postimage = $crp_settings[thumb_default];
    						$output .= '<img src="'.$postimage.'" alt="'.$title.'" title="'.$title.'" width="'.$crp_settings[thumb_width].'" height="'.$crp_settings[thumb_height].'" border="0" class="crp_thumb" />';
    					}
    					$output .= '</a> ';
    				}
    				if (($crp_settings['post_thumb_op']=='inline')||($crp_settings['post_thumb_op']=='text_only')) {
    					$output .= '<a href="'.get_permalink($search->ID).'" rel="bookmark" class="crp_title"><span>'.$title.'</span><span class="auth"> By '.$related_auth.'</span><span class="more title" rel="bookmark">READ MORE &raquo;</span></a>';
    				}
    				if ($crp_settings['show_excerpt']) {
    					$output .= '<span class="crp_excerpt"> '.crp_excerpt($search->post_content,$crp_settings['excerpt_length']).'</span>';
    				}
    				$output .= $crp_settings['after_list_item'];
    				$search_counter++;
    			}
    			if ($search_counter == $limit) break;	// End loop when related posts limit is reached
    		}

    It also adds a READ MORE call to action link right after the author, if you make them block elements it adds to a nice display of information under the thumbnail.

    The last bracket there ends right before
    if ($crp_settings['show_credit']) {
    So copy this and paste up until then. For later versions and questionable starting lines, it goes right after the if/else of if($crp_settings['match_content']) {

    Hope this helps someone!

    http://wordpress.org/extend/plugins/contextual-related-posts/

  2. Ajay
    Member
    Posted 4 years ago #

    Thank you. I'll add this feature in.

Topic Closed

This topic has been closed to new replies.

About this Topic