Alterar o texto de ajuda "Inserir 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. 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 esse texto de ajuda padrão - "Inserir título aqui" - em minha postagem personalizada para outra coisa?


11
Para as pessoas que olham para esta pergunta agora (desde o WordPress 3.1), consulte algumas das respostas mais recentes abaixo para uma melhor (mais solução "WordPress Way").
Tom Auger #

Respostas:


21

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

Tente algo assim (não esqueça de mudar para o seu 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;
}

4
Use o filtro enter_title_here
Pbearne 18/01/16

2
Bom, mas veja as novas respostas abaixo.
Mark

35

Sei que estou um pouco atrasado para a festa aqui, mas gostaria de acrescentar que o enter_title_herefiltro foi adicionado especificamente para esse fim 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_typee your_textdomainpara corresponder ao seu próprio nome de tipo de postagem e domínio de texto.


5
Pequeno esclarecimento. Não deve haver necessidade da verificação is_admin (), pois esse filtro em si só será acionado quando estiver na área de administração. Se, por algum motivo, você tiver um formulário front-end, é muito provável que você deseje que esse filtro seja aplicado de qualquer maneira.
Philip Downer

7

Desculpe desenterrar esta questão do túmulo, mas há uma solução melhor fornecida desde o WordPress 3.1. O 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
Novas respostas construtivas são sempre bem-vindas.
Pieter Goosen

Esta é a resposta correta (moderna), no entanto a resposta de Martin-Al se lembra de usar a função de invólucro gettext localização, por isso deve ser cuidadosamente estudado, bem como: wordpress.stackexchange.com/a/6819/3687
Tom Auger


2

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.