因为这是在插件中,所以您实际上不想直接修改插件文件本身。如果你这样做,你将永远无法更新插件而不覆盖你的工作,并且需要找到它并再次添加你所做的工作。
相反,有一个filter 在插件中为这种情况设置:
// in the plugin file:
function msp_get_template_tag_value( /* variables */ ) {
// ... other stuff we don\'t care about
// line 1037:
return apply_filters( \'masterslider_get_template_tag_value\', $value, $tag_name, $post, $args );
}
第1037行是一个过滤器,这意味着您可以修改插件创建的内容,并将其替换为您想要的任何输出。为此,在函数中添加以下内容。主题中的php文件:
add_filter(\'masterslider_get_template_tag_value\', \'wpse183153_shorten_master_slider_title\', 10, 4);
function wpse183153_shorten_master_slider_title($value, $tag_name, $post, $args){
if ( \'title\' != $tag_name ) {
return $value;
}
$short_title = $value;
if( strlen($value) > 50) {
$short_title = explode( "\\n", wordwrap( $value, 50));
$short_title = $short_title[0] . \'...\';
}
return $short_title;
}
此函数用于检查当前正在编辑的标记是否为标题。如果不是,那么它只是跳过,让内容保持原样。如果是标题,则检查值是否超过50个字符;如果是,则截断该值并附加“…”。