Özel bir yazı türündeki "Başlığı Buraya Girin" yardım metnini değiştirme


20

Alfabetik olarak sıralanacak bir dizin için oluşturulan özel bir yazı türü var. Yazıları alfabetik sıraya göre başlığa göre sıralayacağım, bu yüzden Başlığın soyadı / adı olarak girildiğinden emin olmak istiyorum. Bu varsayılan yardım metnini - "Başlığı Buraya Girin" - özel yayınımda başka bir şeye değiştirmenin bir yolu var mı?


1
Bu soruyu şimdi arayanlar için (WordPress 3.1'den beri) daha iyi (daha fazla "WordPress Yolu" çözümü) için lütfen aşağıdaki yeni cevaplara bakınız.
Tom Auger

Yanıtlar:


21

Bu dizeyi açıkça özelleştirmenin bir yolu yoktur. Ancak çeviri işlevinden geçirilir ve filtrelenmesi kolaydır.

Böyle bir şey deneyin (posta türünüzü değiştirmeyi unutmayı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;
}

4
Filtreyi kullanın enter_title_here
Pbearne

2
Güzel, ama aşağıdaki yeni cevaplara bakın.
Mark

35

Burada partiye biraz geç kaldığımı biliyorum, ancak enter_title_herefiltrenin bu amaç için özel olarak WordPress v3.1'de eklendiğini eklemek istiyorum .

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

Değişim your_post_typeve your_textdomainkendi sonrası türü adı ve metin alanı ile eşleşmesi.


5
Küçük açıklama. Bu filtrenin kendisi yalnızca yönetici alanındayken patlayacağından is_admin () kontrolüne gerek olmamalıdır. Herhangi bir nedenle bir ön uç formunuz olsaydı, bu filtrenin yine de uygulanmasını isteyebilirsiniz.
Philip Downer

7

Bu soruyu mezardan çıkardığım için üzgünüm, ancak WordPress 3.1'den beri daha iyi bir çözüm var. enter_title_hereFiltresi.

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
Yeni yapıcı cevaplar her zaman beklerim.
Pieter Goosen

Bu doğru (modern) cevaptır, ancak Martin-Al'ın cevabı gettext yerelleştirme sarmalayıcı işlevini kullanmayı hatırlar, bu yüzden de dikkatle incelenmelidir: wordpress.stackexchange.com/a/6819/3687
Tom Auger


2

İstediğiniz başlık biçimini almanın en iyi yolu, başlığı tamamen kaldırmak ve ad etiketleri için uygun etiketlere sahip iki özel alan eklemektir. Gönderi kaydedildiğinde, PHP başına bir başlık oluşturun.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.