Viewing 15 replies - 1 through 15 (of 17 total)
  • Plugin Author Ga Satrya

    (@satrya)

    I’m sorry, the plugin doesn’t has that function. Maybe in the next release ??

    Fix it soon. Missing feature has diminished the utility of this plugin.

    I would also enjoy the use of a feature that could include some categories while excluding others.

    Any ideas as to when the next release will be? Really would enjoy this function.

    Plugin Author Ga Satrya

    (@satrya)

    Sorry for late reply, I’m so busy this month, I will release it soon!

    I would like to know about this also please.
    And it would be useful to have some screenshots of the plugin in action.
    I am looking for something that will take just 3 or 4 of my many categories and display the last 3 posts in each category.
    I would like this to be used on a widget.

    formattingissue,

    I’ve done something like you need via the ability to filter the query args going to RPWE. In our case we needed to always pull 2 post from one cat, 3 from another and append them to all other related posts. It was straight forward to accomplish this by building an array of post ids matching and sending them to RPWE via post__in arg.

    Thank you Coralseait
    I’ll try your route and see what happens.

    No worries, if you need a sample of the code let me know.

    It would be very useful to have a starting place. Yes please to your sample. Much appreciated.

    I use this plugin on a site where we want to exclude just a couple of categories. With the recent change in v0.9.4 to strongly recommend the use of the “Limit to Taxonomy” option, it’s cumbersome to have to include a list of almost all of our categories…and if we add new categories in the future they won’t be included in the list automatically.

    Right now we have this:
    category=812,525,518,8,516,9,813,10,485,836,885,4,5,811,810,7,517,542,933,667,6,392

    I’d much rather be able to enter:
    !category=78,844

    Thanks!

    Plugin Author Ga Satrya

    (@satrya)

    Yep, I’m sorry for the changes. But I hope it will give you more flexibility to include/exlude taxonomy not just category or tag.

    Satrya – Is there already a way to use the “Limit to Taxonomy” field for excluding a category (or categories)?

    Plugin Author Ga Satrya

    (@satrya)

    Hi There,
    Please update to version 0.9.6, I also keep the Limit to Category and Limit to Tag option based on user requested.

    @eatingrules you can try negatif tax id eg. category=-1

    Here you go, here’s the dev versions of our code:

    // ******************** Related Posts Logic ********************
    
    	// Help Function for Checking Null or Empty
    
    	// Function for basic field validation (present and neither empty nor only white space
    	function IsNullOrEmptyString($question){
    	    return (!isset($question) || trim($question)==='');
    	};
    
    	// constants
    	define('CNST_TRC_CATEGORY_ALERT_ID', 2);
    	define('CNST_TRC_CATEGORY_NEWS_ID', 3);
    
    	// defaults
    	$trc_number_of_alert_posts = 2;
    	$trc_number_of_news_posts = 3;
    	$trc_number_of_related_posts = 5;
    
    // This will pull post ids for alerts and news
    function trc_get_related_alerts_news_post_ids( $trc_number_of_alerts_posts, $trc_number_of_news_posts) {
    
    	// first get related alerts
    
    	// setup our query args
    	$trc_related_posts_args = array (
    		'post_type' 		=> 'post',
    		'cat'			=> CNST_TRC_CATEGORY_ALERT_ID,
    		'posts_per_page' 	=> $trc_number_of_alerts_posts,
    		'fields' 		=> 'ids',
    	);
    
    	// new wp query to return the post ids matching
    	$trc_related_posts_ids_query = new WP_Query( $trc_related_posts_args);
    
    	// save alert post ids
    	foreach( $trc_related_posts_ids_query->posts as $trc_alert_post_id) {
    		$trc_query_alerts_post_ids[] = $trc_alert_post_id;
    	};
    
    	// reset wp post data
    	wp_reset_postdata();
    
    	// now get related news
    
    	// setup our query args
    	// here we limit the query so it excludes alert ids we already found
    	$trc_related_posts_args = array (
    		'post_type' 		=> 'post',
    		'post__not_in'		=> $trc_query_alerts_post_ids,
    		'cat'			=> CNST_TRC_CATEGORY_NEWS_ID,
    		'posts_per_page' 	=> $trc_number_of_news_posts,
    		'fields' 		=> 'ids',
    	);
    
    	// new wp query to return the post ids matching
    	$trc_related_posts_ids_query = new WP_Query( $trc_related_posts_args);
    
    	// save news post ids
    	foreach( $trc_related_posts_ids_query->posts as $trc_news_post_id) {
    		$trc_query_news_post_ids[] = $trc_news_post_id;
    	};
    
    	// reset wp post data
    	wp_reset_postdata();
    
    	// merge our arrays of ids
    	$trc_query_post_ids = array_merge( $trc_query_alerts_post_ids, $trc_query_news_post_ids);
    
    	return $trc_query_post_ids;
    }
    
    //* Related Posts Filters
    add_filter( 'rpwe_default_query_arguments', 'trc_related_posts' );
    function trc_related_posts( $args ) {
    
    	// arrays
    	$trc_related_alerts_news_ids = array();
    	$trc_current_post_categories = array();
    	$trc_full_related_ids = array();
    
    	// current post data
    	global $post;
    	$trc_current_post_id = $post->ID;
    
    	//echo '<br>The Current Post ID: ' . $trc_current_post_id;
    
    	// get the current post categories
    	$trc_current_post_categories = wp_get_post_categories( $trc_current_post_id);
    
    	//echo '<br>The Current Post Categories: ';
    	//echo var_dump( $trc_current_post_categories);
    
    	// First get alerts and news
    	$trc_related_alerts_news_ids = trc_get_related_alerts_news_post_ids( $trc_number_of_alerts_posts, $trc_number_of_news_posts);
    
    	// Now query WordPress:
    	// Use our Current Post Categories
    	// Exclude our Alerts and News IDs
    	// setup our query args
    	$trc_related_posts_args = array (
    		'post_type' 		=> 'post',
    		'post__not_in'		=> $trc_related_alerts_news_ids,
    		'category__in'		=> $trc_current_post_categories,
    		'posts_per_page' 	=> $trc_number_of_related_posts ,
    		'fields' 		=> 'ids',
    	);
    	$trc_related_posts_query = new WP_Query( $trc_related_posts_args);
    
    	// save related post ids
    	foreach( $trc_related_posts_query->posts as $trc_related_post_id) {
    		$trc_related_post_ids[] = $trc_related_post_id;
    	};
    
    	// reset wp post data
    	wp_reset_postdata();
    
    	//echo '<br>Related Post IDs: ';
    	//echo var_dump( $trc_related_post_ids);
    
    	// now merge related posts and alerts / news
    	// check for null or empty first
    	if ( IsNullOrEmptyString( $trc_related_post_ids)) {
    		$trc_full_related_ids = $trc_related_alerts_news_ids;
    	} else {
    		$trc_full_related_ids = array_merge( $trc_related_post_ids, $trc_related_alerts_news_ids);
    	};
    
    	//echo '<br>Full Related IDs: ';
    	//echo var_dump( $trc_full_related_ids);
    
    	// pass our related post ids to the plugin args
    	$args['post__in'] = $trc_full_related_ids;
    
    	return $args;
    }
Viewing 15 replies - 1 through 15 (of 17 total)
  • The topic ‘Exlcude a category’ is closed to new replies.