Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #348697

    hi,
    How to remove the post navigation for some specific categories ?
    Thank

    • This topic was modified 10 years ago by bicounet.
    #349081

    Hey bicounet!

    Try adding this to the functions.php file of your child theme.

    function avia_post_nav($same_category = false, $taxonomy = 'category')
    {
    	global $wp_version;
    		$settings = array();
    		$settings['same_category'] = $same_category;
    		$settings['excluded_terms'] = '';
    		$settings['wpversion'] = $wp_version;
    	
    	//dont display if a fullscreen slider is available since they overlap 
    	if((class_exists('avia_sc_layerslider') && !empty(avia_sc_layerslider::$slide_count)) || 
    		class_exists('avia_sc_slider_full') && !empty(avia_sc_slider_full::$slide_count) ) $settings['is_fullwidth'] = true;
    
    	$settings['type'] = get_post_type();
    	$settings['taxonomy'] = ($settings['type'] == 'portfolio') ? 'portfolio_entries' : $taxonomy;
    
    	if(!is_singular() || is_post_type_hierarchical($settings['type'])) $settings['is_hierarchical'] = true;
    	if($settings['type'] === 'topic' || $settings['type'] === 'reply') $settings['is_bbpress'] = true;
    
    		$settings = apply_filters('avia_post_nav_settings', $settings);
    		if(!empty($settings['is_bbpress']) || !empty($settings['is_hierarchical']) || !empty($settings['is_fullwidth'])) return;
    
    		if(version_compare($settings['wpversion'], '3.8', '>=' ))
    		{
    			$entries['prev'] = get_previous_post($settings['same_category'], $settings['excluded_terms'], $settings['taxonomy']);
    			$entries['next'] = get_next_post($settings['same_category'], $settings['excluded_terms'], $settings['taxonomy']);
    		}
    		else
    		{
    			$entries['prev'] = get_previous_post($settings['same_category']);
    			$entries['next'] = get_next_post($settings['same_category']);
    		}
    		
    	$entries = apply_filters('avia_post_nav_entries', $entries, $settings);
    	$output = "";
    
    	foreach ($entries as $key => $entry)
    	{
    		if(empty($entry)) continue;
    		$the_title 	= isset($entry->av_custom_title) ? $entry->av_custom_title : avia_backend_truncate(get_the_title($entry->ID),75," ");
    		$link 		= isset($entry->av_custom_link)  ? $entry->av_custom_link  : get_permalink($entry->ID);
    		$image 		= isset($entry->av_custom_image) ? $entry->av_custom_image : get_the_post_thumbnail($entry->ID, 'thumbnail');
    		
    		$tc1   = $tc2 = "";
    		$class = $image ? "with-image" : "without-image";
    
    		$output .= "<a class='avia-post-nav avia-post-{$key} {$class}' href='{$link}' >";
    		$output .= "    <span class='label iconfont' ".av_icon_string($key)."></span>";
    		$output .= "    <span class='entry-info-wrap'>";
    		$output .= "        <span class='entry-info'>";
    		$tc1     = "            <span class='entry-title'>{$the_title}</span>";
    if($image)  $tc2     = "            <span class='entry-image'>{$image}</span>";
    		$output .= $key == 'prev' ?  $tc1.$tc2 : $tc2.$tc1;
    		$output .= "        </span>";
    		$output .= "    </span>";
    		$output .= "</a>";
    	}
    	if ( !in_category( array( 'uncategorized', 'work', 'humor' ) ) ) { return $output; }
    }
    

    And near the bottom of that code you should see this.

    if ( !in_category( array( 'uncategorized', 'work', 'humor' ) ) ) { return $output; }
    

    You can add your category slugs there.

    Or if you do not want to use a child theme then you can find that line on 393 in /enfold/functions-enfold.php.

    Cheers!
    Elliott

    • This reply was modified 10 years ago by Elliott.
Viewing 2 posts - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.