wake-up-neo.com

Ändern Sie den Hilfetext "Titel hier eingeben" für einen benutzerdefinierten Beitragstyp

Ich habe einen benutzerdefinierten Beitragstyp für ein Verzeichnis erstellt, das am Ende alphabetisch sortiert wird. Ich werde die Beiträge in alphabetischer Reihenfolge nach Titel sortieren, daher möchte ich sicherstellen, dass der Titel als Nachname/Vorname eingegeben wird. Gibt es eine Möglichkeit, diesen Standard-Hilfetext - "Titel hier eingeben" - in meinem benutzerdefinierten Beitrag zu ändern?

20
John Chandler

Es gibt keine Möglichkeit, diese Zeichenfolge explizit anzupassen. Es wird jedoch durch die Übersetzungsfunktion geleitet und ist daher leicht zu filtern.

Probieren Sie so etwas aus (vergessen Sie nicht, zu Ihrem Beitragstyp zu wechseln):

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;
}
21
Rarst

Ich weiß, dass ich ein bisschen zu spät zur Party komme, aber ich möchte hinzufügen, dass der enter_title_here Filter speziell für diesen Zweck in WordPress v3.1 hinzugefügt wurde.

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;
}

Ändern Sie your_post_type und your_textdomain so, dass sie Ihrem eigenen Beitragstypnamen und Ihrer eigenen Textdomäne entsprechen.

35
Dave Romsey

Es tut uns leid, diese Frage von Grave aufgegraben zu haben, aber seit WordPress 3.1 gibt es eine bessere Lösung. Der enter_title_here Filter.

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

Schauen Sie sich wp-admin/edit-form-advanced.php in Zeile 246 an (Zeile 329, ab 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>
5
Martin-Al

Der beste Weg, um das gewünschte Titelformat zu erhalten, besteht darin, den Titel vollständig zu entfernen und zwei benutzerdefinierte Felder für die Namensteile mit den richtigen Bezeichnungen hinzuzufügen. Wenn der Beitrag gespeichert ist, erstellen Sie den Titel per PHP.

2
fuxia