i'm using advanced custom fields (acf) allow user select list of pages show title, excerpt , link respective pages.
for reason pulling excerpt of current post instead of related post id. title , permalink word desired. i'd love help.
thanks, jeffrey
<?php /* // adding our custom content output /* * loop through post objects (assuming multi-select field) ( don't setup postdata ) * using method, $post object never changed functions need second parameter of post id in question. */ add_action( 'genesis_entry_content', 'genesis_project_list', 10, 2 ); add_action( 'genesis_post_content', 'genesis_project_list', 10, 2 ); // custom content output function function genesis_project_list() { $post_objects = get_field('acf_selected_projects'); if( $post_objects ): ?> <ul style="list-style:none;"> <?php foreach( $post_objects $post_object): ?> <li style="list-style:none;"> <h3><a href="<?php echo get_permalink($post_object->id); ?>"><?php echo get_the_title($post_object->id); ?></a></h3> <span><?php echo get_the_excerpt($post_object->id); ?></span> <a href="<?php echo get_permalink($post_object->id); ?>">read more...</a> </li> <?php endforeach; ?> </ul> <?php endif; } genesis();
i don't think get_the_excerpt() accepts argument, can't pass $post_object->id post's excerpt. you'll have write own custom function creating excerpt. here's sample code i've used before (add functions.php):
function custom_excerpt($str,$length=40,$append='...'){ $pieces=explode(' ',strip_tags($str)); $excerpt=implode(' ',array_slice($pieces,0,$length)); if(count($pieces)>$length) $excerpt.=$append; return $excerpt; } and in template:
<span><?php echo custom_excerpt($post_object->post_content); ?></span>
Comments
Post a Comment