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!
oceanwp_excerpt
is not a core WordPress hook. This question may require specific knowledge about whatever that third-party product is in order to answer, in which case it might be considered off-topic for our stack. Your best bet may be to pose the question in the product's official support channels.