我想创建一个快捷码,从帖子的自定义字段中提取值,并在摘录中返回该值。
我已经有了自定义值的函数:
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\');
并筛选标题:
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 );
)
我认为通过添加摘录过滤器:
add_filter( \'oceanwp_excerpt\', \'do_shortcode\');
它会修复它,但它没有。
我尝试添加了一些其他过滤器,但最终打破了WordPress)。
如果自定义值为Ice Cream. 如果我的摘录是Favorite [geo_name] 它只返回Favorite.
请协助!