Support

Account

Home Forums Front-end Issues Excerpt from relationship

Solved

Excerpt from relationship

  • Hi, I’m trying to pull an excerpt from a relationship for featured posts on a static home page. I’m basing it on the code below…

    
    <?php 
     
    $posts = get_field('relationship_field_name');
     
    if( $posts ): ?>
    	<ul>
    	<?php foreach( $posts as $p ): // variable must NOT be called $post (IMPORTANT) ?>
    	    <li>
    	    	<a href="<?php echo get_permalink( $p->ID ); ?>"><?php echo get_the_title( $p->ID ); ?></a>
    	    	<span>Custom field from $post: <?php the_field('author', $p->ID); ?></span>
    	    </li>
    	<?php endforeach; ?>
    	</ul>
    <?php endif; ?>
    

    Does anyone have any idea how to do this? I’ve looked around and not found anything that really works.

    Thanks.

  • Seriously, no help on here? ๐Ÿ™

  • Same problem, could not get neither excerpt, nor content using relationship. I solved using Basic loop (without setup_postdata), instead of using postdata

  • Hi Gleenk,

    You need to add in global $post; and then it works fine. Here’s an example below of what I did for featured posts using the relationship field.

    <div class="row home-featured-posts collapse">
    	<?php 
    
    	function custom_excerpt_length( $length ) {
    		return 20;
    	}
    	add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
    
    	remove_filter('the_excerpt', 'wpautop');
    	function trim_excerpt($text) {
      return rtrim($text,'[&hellip;]');
    }
    add_filter('get_the_excerpt', 'trim_excerpt');
    
    	global $post;
    
    	$posts = get_field('featured_posts');
    	 
    	if( $posts ): ?>
    	    <?php foreach( $posts as $post): ?>
    	        <?php setup_postdata($post); ?>
    
    	        <div class="small-12 medium-4 columns">
    	            <a href="<?php the_permalink(); ?>">
    	            	<?php the_post_thumbnail('small-letterbox'); ?>
    	            </a>
    
                	<div>
                		<h3>
    	            		<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><br>
    
    	            		<small>
    	            			By <?php the_author(); ?> / <?php the_time( get_option( 'date_format' ) ); ?>
    	            		</small>
    	            	</h3>
    
    	            	<p>
    	            		<?php the_excerpt(); ?>...
    	            	</p>
    	            	
    	            	<a href="<?php the_permalink(); ?>" class="read-more">Read more</a>
                	</div>
    	        </div>
    
    	    <?php endforeach; ?>
    	    <?php wp_reset_postdata(); ?>
    	<?php endif; ?>
    </div>
  • it doesn’t work for me ๐Ÿ™

  • Can you post your code?

Viewing 7 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic.