• I want suggest this modify for the method show_text_block function:

    This method is used in version 1.4.8

    
    // SHOW TEXT BLOCK
    function show_text_block($id, $plain = false, $atts = false)
    {
    	$id = apply_filters( 'text_blocks_show_text_block_id', $id );
    
    	// IF ID IS NOT NUMERIC CHECK FOR SLUG
    	if(!is_numeric($id))
    	{
    		$page = get_page_by_path( $id, null, 'text-blocks' );
    		$id = $page->ID;
    	}
    
    	if( !$id ) return false;
    	
    	
    	// LOOK FOR TEMPLATE IN THEME
    	$template = isset($atts['template']) ? $atts['template'] : $id;
    	$template = locate_template( array( "text-blocks-{$template}.php" ) );
    
        // Daniele: This filter is used from template to translate content for multilanguage
        $content = apply_filters('text_blocks_content', get_post_field( 'post_content', $id ), $id, $plain, $atts);
    	
    	// LOAD TEMPLATE IF FOUND
    	if( $template )
    	{
    		ob_start();
    		include( $template );
    		$output = ob_get_contents();
    		ob_end_clean();
    		return $output;
    	}
    
    	// LOAD PLAIN CONTENT
    	if($plain)
    	{
    		return apply_filters( 'text_blocks_shortcode_html', $content, $atts );
    	}
    
    	// APPLY 'the_content' FILTER TO BLEND WITH EVERYTHING ELSE
    	$content = apply_filters( 'the_content', $content, $atts );
    	return apply_filters( 'text_blocks_shortcode_html', $content, $atts, $id );
    }
    

    I’ve added this line

    
    $content = apply_filters('text_blocks_content', get_post_field( 'post_content', $id ), $id, $plain, $atts);
    

    For me it’s really helpful to increase performance when this plugin load content of multilanguage; For example: I use qTranslateX, the content page split language content like is [:en]En content[:it]IT content[:]

    Adding my suggested filter I can filter loaded content in my template to return only the content with current language (and other minor fix related to qTranslateX).

    Best regards,
    Daniele

  • The topic ‘Filter content in show_text_block()’ is closed to new replies.