In WordPress Recent Posts Widget , only show posts tagged with the current page url

/******* filter posts by tag based on page url ***********/
add_filter('widget_posts_args', 'wpsites_modify_recent_posts_widget', 100000);
function wpsites_modify_recent_posts_widget($params) {

	$url = sanitize_text_field($_SERVER['REQUEST_URI']);

	$last_word = basename($url);
	error_log("last word = $last_word");

	$tags_filter_by = array('who','what','when','where','why','how'); // only do for these pages 

	if(in_array($last_word, $tags_filter_by) ){
		//$params['tag'] = 'bread,baking';  posts with any of these tags
		$params['tag'] = trim(strtolower($last_word));  		
		error_log("filtering to only show posts with this tag "); 
	}

	

	return $params;
}

 

Leave a Comment