如果您查看函数comments_popup_link()
最后您将看到以下代码:
$title = the_title_attribute( array(\'echo\' => 0 ) );
echo apply_filters( \'comments_popup_link_attributes\', \'\' );
echo \' title="\' . esc_attr( sprintf( __(\'Comment on %s\'), $title ) ) . \'">\';
comments_number( $zero, $one, $more );
echo \'</a>\'; // last line
记下呼叫
__()
, 翻译功能。我们可以过滤
\'gettext\'
更改结果。因为我们不想对每个翻译都运行我们的过滤器,这太慢了,所以当钩子
\'comments_popup_link_attributes\'
被称为:
add_filter( \'comments_popup_link_attributes\', \'t5_cclta_init\' );
function t5_cclta_init( $attrs )
{
add_filter( \'gettext\', \'t5_cclta_change_title\', 10, 3 );
return $attrs;
}
现在我们只需要真正的过滤器函数:
function t5_cclta_change_title( $translated, $text, $domain )
{
remove_filter( current_filter(), __FUNCTION__, 10 );
if ( \'default\' === $domain && \'Comment on %s\' === $text )
return \'Talk about %s\';
return $translated;
}
现在标题属性是:
谈论文章标题。