Modifier le texte d'aide «Entrez le titre ici» dans un type de message personnalisé

20

J'ai un type de message personnalisé créé pour un répertoire qui sera trié par ordre alphabétique. Je vais trier les articles par ordre alphabétique par titre. Je veux donc m'assurer que le titre est entré comme nom / prénom. Existe-t-il un moyen de modifier le texte d’aide par défaut - "Entrez le titre ici" - dans mon message personnalisé en un autre élément?

    
posée John Chandler 12.01.2011 - 19:10
la source

5 réponses

19

Il n’existe aucun moyen de personnaliser explicitement cette chaîne. Mais il passe par la fonction de traduction et est donc facile à filtrer.

Essayez quelque chose comme ça (n'oubliez pas de changer de type de message):

add_filter('gettext','custom_enter_title');

function custom_enter_title( $input ) {

    global $post_type;

    if( is_admin() && 'Enter title here' == $input && 'your_post_type' == $post_type )
        return 'Enter Last Name, Followed by First Name';

    return $input;
}
    
réponse donnée Rarst 12.01.2011 - 19:19
la source
33

Je sais que je suis un peu en retard à la fête ici, mais j'aimerais ajouter que le enter_title_here Un filtre a été ajouté spécifiquement à cette fin dans WordPress v3.1.

add_filter( 'enter_title_here', 'custom_enter_title' );
function custom_enter_title( $input ) {
    if ( 'your_post_type' === get_post_type() ) {
        return __( 'Enter your name here', 'your_textdomain' );
    }

    return $input;
}

Modifiez your_post_type et your_textdomain pour qu'ils correspondent à vos propres nom de type de publication et domaine de texte.

    
réponse donnée Dave Romsey 25.03.2011 - 03:40
la source
6

Désolé de sortir cette question de la tombe, mais il existe une meilleure solution fournie depuis WordPress 3.1. Le filtre enter_title_here .

function change_default_title( $title ){
    $screen = get_current_screen();

    // For CPT 1
    if  ( 'custom_post_type_1' == $screen->post_type ) {
        $title = 'CPT1 New Title';

    // For CPT 2
    } elseif ( 'custom_post_type_2' == $screen->post_type ) {
        $title = 'CPT2 New Title';

    // For Yet Another CPT
    } elseif ( 'custom_post_type_3' == $screen->post_type ) {
        $title = 'CPT3 New Title';
    }
    // And, so on

    return $title;
}

add_filter( 'enter_title_here', 'change_default_title' );
    
réponse donnée Abhik 23.05.2014 - 09:32
la source
5

Jetez un coup d’œil à wp-admin/edit-form-advanced.php à la ligne 246 (ligne 329, à partir du WP3.5)

<label class="screen-reader-text" id="title-prompt-text" for="title">
<?php echo apply_filters( 'enter_title_here', __( 'Enter title here' ), $post ); ?>
</label>
    
réponse donnée Martin-Al 12.01.2011 - 19:14
la source
2

Le meilleur moyen d'obtenir le format de titre souhaité est de supprimer complètement le titre et d'ajouter deux champs personnalisés pour les parties de nom portant les libellés appropriés. Lorsque le message est enregistré, créez le titre par PHP.

    
réponse donnée fuxia 12.01.2011 - 23:20
la source

Lire d'autres questions sur les étiquettes