更改“您现在已注销”文本

时间:2016-01-22 作者:Clarus Dignus

我想包起来<strong></strong> 在“注销”字样周围:

add_filter( \'gettext\', \'wpse17709_gettext\', 10, 2 );
function wpse17709_gettext( $custom_translation, $login_texts ) {

    // Messages
    if ( \'You are now logged out.\' == $login_texts ) { return \'\'; } // Log out message

    return $translation
}
。。。但是,将HTML元素添加到文本字符串会破坏我的页面。

如何添加<strong></strong> 是否指向此消息文本?除了gettext?

3 个回复
最合适的回答,由SO网友:Nathan Powell 整理而成

这允许专门针对loggedout 消息,同时保留所有其他消息。Here is more documentation on the filter.

add_filter( \'wp_login_errors\', \'my_logout_message\' );

function my_logout_message( $errors ){

    if ( isset( $errors->errors[\'loggedout\'] ) ){
        $errors->errors[\'loggedout\'][0] = \'This is the <strong style="color:red;">logged out</strong> message.\';
    }

    return $errors;
}

SO网友:Clarus Dignus

基于Sven推荐的解决方案和Tom J Nowell关于gettext() (请参见两者的注释),我提出了以下解决方案:

add_filter( \'login_message\', \'wpse_215289_custom_logout_message\' );
add_action( \'login_head\',\'wpse_215289_custom_login_head\' );

// Detect logout and add custom message.
function wpse_215289_custom_logout_message() 
{
    //check to see if it\'s the logout screen
    if ( isset($_GET[\'loggedout\']) && TRUE == $_GET[\'loggedout\'] ){
        $message = "<p class=\'message\'>Custom log-out message.</p>";
    }
    return $message;
} 

// Remove original message via CSS.
function wpse_215289_custom_login_head() 
{
    ?>
    <style type="text/css">
    .message:nth-child(2) { display:none; }
    </style>
    <?php
}

SO网友:dev

使用过滤器更改“您现在已注销”文本login_messages

function custom_logout_message(){
  return \'You are not login!\';
}
add_filter( \'login_messages\', \'custom_logout_message\' );