Altere o texto de ajuda "Digite o título aqui" em um tipo de postagem personalizado

20

Eu tenho um tipo de postagem personalizado criado para um diretório que acabará sendo classificado em ordem alfabética. Eu classificarei as postagens em ordem alfabética por título, por isso quero ter certeza de que o título seja inserido como sobrenome / nome. Existe uma maneira de alterar o texto de ajuda padrão - "Inserir título aqui" - na minha postagem personalizada para outra coisa?

    
por John Chandler 12.01.2011 / 19:10
fonte

5 respostas

19

Não há como personalizar essa string explicitamente. Mas é passado através da função de tradução e é fácil filtrar.

Tente algo assim (não se esqueça de alterar o tipo de postagem):

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;
}
    
por Rarst 12.01.2011 / 19:19
fonte
33

Eu sei que estou um pouco atrasado para a festa, mas gostaria de acrescentar que enter_title_here O filtro foi adicionado especificamente para essa finalidade no 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;
}

Altere your_post_type e your_textdomain para corresponder ao seu próprio nome de tipo de postagem e domínio de texto.

    
por Dave Romsey 25.03.2011 / 03:40
fonte
6

Desculpe desenterrar esta questão, mas existe uma solução melhor desde o WordPress 3.1. O filtro 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' );
    
por Abhik 23.05.2014 / 09:32
fonte
5

Dê uma olhada em wp-admin/edit-form-advanced.php na linha 246 (linha 329, a partir de 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>
    
por Martin-Al 12.01.2011 / 19:14
fonte
2

A melhor maneira de obter o formato de título desejado é remover o título completamente e adicionar dois campos personalizados para as peças de nome com rótulos adequados. Quando a postagem for salva, crie o título por PHP.

    
por fuxia 12.01.2011 / 23:20
fonte