Shortcode To Display Post Custom Field Value Inside Excerpt

Question

I want to create a shortcode that pulls value from a custom field of a post and returns that value inside excerpt.

I already have a function for the custom value:

function geo_name_function( $atts ) {

    $atts = shortcode_atts( array(
        'post_id' => get_the_ID(),
    ), $atts, 'geo_name' );

    return get_post_meta( $atts['post_id'], 'field_name', true );
}

add_shortcode('geo_name', 'geo_name_function');

And filter for the title:

add_filter( 'the_title', function( $geo_name_function ) {
    return do_shortcode( $geo_name_function );
});

add_filter( 'the_title', 'se385007_title_filter', 20, 2 );
function se385007_title_filter( $title, $post_id ) 
{
    $new_title = str_replace( "[geo_name]", "[geo_name post_id=$post_id]", $title );
    return do_shortcode( $new_title );
)

I thought that by adding the Excerpt filter:

add_filter( 'oceanwp_excerpt', 'do_shortcode');

It will fix it but it did not.

I tried adding few other filters but just ended up breaking WordPress ).

At the moment if Custom Value is Ice Cream. If my excerpt is Favorite [geo_name] it only returns Favorite.

Please assist!

0
Discover 4 months 2021-06-14T19:39:21-05:00 0 Answers 0 views 0

Leave an answer

Browse
Browse