Ubah teks bantuan “Masukkan Judul Di Sini” pada jenis posting khusus


20

Saya memiliki jenis posting khusus yang dibuat untuk direktori yang pada akhirnya akan disortir berdasarkan abjad. Saya akan menyortir posting dalam urutan abjad berdasarkan judul, jadi saya ingin memastikan bahwa Judul dimasukkan sebagai nama belakang / nama depan. Apakah ada cara untuk mengubah teks bantuan default itu - "Masukkan Judul Di Sini" - di pos kustom saya ke yang lain?


1
Untuk orang-orang yang melihat pertanyaan ini sekarang (karena WordPress 3.1) silakan lihat beberapa jawaban yang lebih baru di bawah ini untuk solusi yang lebih baik (lebih banyak "WordPress Way").
Tom Auger

Jawaban:


21

Tidak ada cara untuk menyesuaikan string itu secara eksplisit. Tapi itu dilewatkan melalui fungsi terjemahan dan mudah disaring.

Coba sesuatu seperti ini (jangan lupa ubah ke jenis posting Anda):

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
Gunakan filter enter_title_here
Pbearne

2
Bagus, tetapi lihat jawaban baru di bawah ini.
Markus

35

Saya tahu saya agak terlambat ke pesta di sini, tetapi saya ingin menambahkan bahwa enter_title_herefilter ditambahkan khusus untuk keperluan ini di 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;
}

Ubah your_post_typedan your_textdomainuntuk mencocokkan nama jenis tulisan Anda dan domain teks.


5
Klarifikasi kecil. Seharusnya tidak diperlukan pemeriksaan is_admin () karena filter ini sendiri hanya akan aktif ketika berada di area admin. Jika karena alasan tertentu Anda memiliki formulir front-end, Anda dapat menggunakan filter ini.
Philip Downer

7

Maaf menggali pertanyaan ini dari kubur, tetapi ada solusi yang lebih baik sejak WordPress 3.1. The enter_title_herefilter.

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
Jawaban konstruktif baru selalu diterima.
Pieter Goosen

Ini adalah jawaban yang benar (modern), namun jawaban Martin-Al ingat untuk menggunakan fungsi wrapper pelokalan gettext, jadi harus dipelajari dengan cermat juga: wordpress.stackexchange.com/a/6819/3687
Tom Auger


2

Cara terbaik untuk mendapatkan format judul yang Anda inginkan adalah menghapus judul sepenuhnya dan menambahkan dua bidang khusus untuk bagian nama dengan label yang tepat. Saat posting disimpan, buat judul per PHP.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.