Ich möchte <strong></strong>
um die Wörter "abgemeldet" wickeln:
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
}
... das Hinzufügen von HTML-Elementen zur Textzeichenfolge führt jedoch zu einer Unterbrechung meiner Seite.
Wie kann ich diesem Nachrichtentext <strong></strong>
hinzufügen? Gibt es ein anderes Mittel als gettext
?
Auf diese Weise kann die Nachricht speziell für die Nachricht loggedout
überschrieben werden, während alle anderen Nachrichten in Ruhe gelassen werden. Hier ist mehr Dokumentation zum 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;
}
Ändern Sie den Text "Sie sind jetzt abgemeldet" mit filter login_messages
function custom_logout_message(){
return 'You are not login!';
}
add_filter( 'login_messages', 'custom_logout_message' );
Basierend auf Svens empfohlener Lösung und Tom J Nowells Warnung zu gettext()
(siehe Kommentare für beide) habe ich die folgende Lösung entwickelt:
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
}