在备注表单中更改“以<用户名>身份登录”链接

时间:2017-08-08 作者:Magnus Pilegaard

如果登录,我想更改回复评论表单中显示的“登录身份”链接。该链接在后端指向wordpress配置文件,它不应该这样做。我希望它只是一个段落,而不是一个标签。然而,我找不到任何地方可以更改它,因为据我所知,没有可定制的模板。

谢谢

1 个回复
最合适的回答,由SO网友:birgire 整理而成

我们可以尝试通过comment_form_logged_in 过滤器,其中HTML默认构造为:

\'<p class="logged-in-as">\' . sprintf(
/* translators: 1: edit user link, 2: accessibility text, 3: user name, 4: logout URL */
     __( \'<a href="%1$s" aria-label="%2$s">Logged in as %3$s</a>. <a href="%4$s">Log out?</a>\' ),
     get_edit_user_link(),
     /* translators: %s: user name */
     esc_attr( sprintf( __( \'Logged in as %s. Edit your profile.\' ), $user_identity ) ),
     $user_identity,
     wp_logout_url( apply_filters( \'the_permalink\', get_permalink( $post_id ) ) )
 ) . \'</p>\'
但由于它相当复杂,我们可能会失去翻译,在重建它时,我们可能会尝试将其替换为(一次),例如:

add_filter( \'comment_form_logged_in\', function( $html, $commenter, $user_identity )
{
  return preg_replace( \'#<a href="[^"]*" aria-label="[^"]*">([^<]*)</a>#\', \'$1\', $html, 1);
}, 10, 3 );
或者使用DomDocument方法。参见示例。here.

请注意,如果核心中的翻译字符串发生变化,则可能需要进行调整!

结束

相关推荐

从wp_USERS和wp_USERMETA中一次删除几千个订户

我有一个有7万垃圾邮件订阅者的网站,我不需要他们中的任何一个。因此,我需要使用adminer和/或phpmyadmin中的查询从wp\\U users中删除所有订阅者,并从wp\\U usermeta中删除每个用户的关联元。但是为了防止服务器崩溃,我怎么能一次删除几千个呢?这似乎是我需要的基本查询:DELETE FROM wp_users INNER JOIN wp_usermeta ON wp_users.ID = wp_usermeta.user_id WHERE meta