Cambie el texto de ayuda "Ingrese el título aquí" en un tipo de publicación personalizada


20

Tengo un tipo de publicación personalizado creado para un directorio que terminará siendo ordenado 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 - "Ingresar título aquí" - en mi publicación personalizada a otra cosa?


1
Para las personas que están viendo esta pregunta ahora (desde WordPress 3.1), vea algunas de las respuestas más recientes a continuación para una mejor (más solución "WordPress Way").
Tom Auger

Respuestas:


21

No hay forma de personalizar esa cadena explícitamente. Pero se pasa a través de la función de traducción y, por lo tanto, es fácil de filtrar.

Pruebe algo como esto (no olvide cambiar su 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 'Enter Last Name, Followed by First Name';

    return $input;
}

44
Use el filtro enter_title_here
Pbearne

2
Bien, pero mira las nuevas respuestas a continuación.
Mark

35

Sé que llego un poco tarde a la fiesta aquí, pero me gustaría agregar que el enter_title_herefiltro 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 __( 'Enter your name here', 'your_textdomain' );
    }

    return $input;
}

Cambie your_post_typey your_textdomaincoincida con su propio nombre de tipo de publicación y dominio de texto.


55
Pequeña aclaración. No debería ser necesario comprobar is_admin () ya que este filtro solo se activará en el área de administración. Si por alguna razón tuvo un formulario de front-end, es muy posible que desee aplicar este filtro de todos modos.
Philip Downer

7

Lamento desenterrar esta pregunta desde la tumba, pero hay una mejor solución provista desde WordPress 3.1. El enter_title_herefiltro

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' );

2
Nuevas respuestas constructivas son siempre bienvenidas.
Pieter Goosen

Esta es la respuesta correcta (moderna), sin embargo, la respuesta de Martin-Al recuerda usar la función de contenedor de localización gettext, por lo que también debe estudiarse cuidadosamente: wordpress.stackexchange.com/a/6819/3687
Tom Auger


2

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.