Cambiar el texto de ayuda "Enter Title Here" en un tipo de publicación personalizada

12 ene 2011, 20:10:38
Vistas: 19.5K
Votos: 24

Tengo un tipo de publicación personalizada creada para un directorio que finalmente se ordenará alfabéticamente. Ordenaré las publicaciones en orden alfabético por título, por lo que quiero asegurarme de que el Título se ingrese como apellido/nombre. ¿Hay alguna manera de cambiar ese texto de ayuda predeterminado -- "Enter Title Here" -- en mi publicación personalizada por algo diferente?

1
Comentarios

Para las personas que están viendo esta pregunta ahora (desde WordPress 3.1), por favor revisen algunas de las respuestas más recientes a continuación para obtener una solución mejor (más "al estilo WordPress").

Tom Auger Tom Auger
6 dic 2016 19:02:34
Todas las respuestas a la pregunta 5
1
44

Sé que llego un poco tarde a la fiesta aquí, pero me gustaría añadir que el filtro enter_title_here se agregó específicamente para este propósito en WordPress v3.1.

add_filter( 'enter_title_here', 'custom_enter_title' );
function custom_enter_title( $input ) {
    if ( 'your_post_type' === get_post_type() ) {
        return __( 'Ingresa tu nombre aquí', 'your_textdomain' );
    }

    return $input;
}

Cambia your_post_type y your_textdomain para que coincidan con el nombre de tu tipo de entrada y dominio de texto.

25 mar 2011 04:40:18
Comentarios

Aclaración pequeña. No debería ser necesario el chequeo de is_admin() ya que este filtro solo se activará en el área de administración. Si por alguna razón tuvieras un formulario en el front-end, es muy probable que igual quieras que se aplique este filtro.

Philip Downer Philip Downer
10 feb 2013 00:30:35
2
23

No hay forma de personalizar esa cadena explícitamente. Pero pasa por una función de traducción, por lo que es fácil de filtrar.

Prueba algo como esto (no olvides cambiar a tu tipo de publicación):

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 'Ingresa Apellido, seguido de Nombre';

    return $input;
}
12 ene 2011 20:19:31
Comentarios

Usa el filtro enter_title_here

Pbearne Pbearne
18 ene 2016 22:27:43

Bien, pero mira las nuevas respuestas abajo.

Mark Mark
27 oct 2016 00:23:09
2

Lamento desenterrar esta pregunta de la tumba, pero hay una mejor solución disponible desde WordPress 3.1. El filtro enter_title_here.

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

    // Para CPT 1
    if  ( 'custom_post_type_1' == $screen->post_type ) {
        $title = 'Nuevo título para CPT1';

    // Para CPT 2
    } elseif ( 'custom_post_type_2' == $screen->post_type ) {
        $title = 'Nuevo título para CPT2';

    // Para otro CPT más
    } elseif ( 'custom_post_type_3' == $screen->post_type ) {
        $title = 'Nuevo título para CPT3';
    }
    // Y así sucesivamente

    return $title;
}

add_filter( 'enter_title_here', 'cambiar_titulo_por_defecto' );
23 may 2014 10:32:40
Comentarios

Siempre son bienvenidas nuevas respuestas constructivas.

Pieter Goosen Pieter Goosen
23 may 2014 10:37:44

Esta es la respuesta correcta (moderna), sin embargo, la respuesta de Martin-Al recuerda usar la función envolvente de localización gettext, por lo que también debería estudiarse con cuidado: http://wordpress.stackexchange.com/a/6819/3687

Tom Auger Tom Auger
6 dic 2016 18:55:12
1

Echa un vistazo en wp-admin/edit-form-advanced.php en la línea 246 (línea 329, a partir de WP3.5)

<label class="screen-reader-text" id="title-prompt-text" for="title">
<?php echo apply_filters( 'enter_title_here', __( 'Introduce el título aquí' ), $post ); ?>
</label>
12 ene 2011 20:14:17
Comentarios

Para ser claros, esto es nuevo en la versión 3.1.

Jan Fabry Jan Fabry
18 feb 2011 16:26:58
0

La mejor manera de obtener el formato de título que deseas es eliminar el título por completo y agregar dos campos personalizados para las partes del nombre con etiquetas adecuadas. Cuando se guarde la publicación, crea el título mediante PHP.

13 ene 2011 00:20:40