Thay đổi Tiêu đề Nhập vào đây Tại đây giúp đỡ văn bản trên một loại bài tùy chỉnh


20

Tôi có một loại bài đăng tùy chỉnh được tạo cho một thư mục cuối cùng sẽ được sắp xếp theo thứ tự abc. Tôi sẽ sắp xếp các bài viết theo thứ tự bảng chữ cái theo tiêu đề, vì vậy tôi muốn chắc chắn rằng Tiêu đề được nhập dưới dạng họ / tên. Có cách nào để thay đổi văn bản trợ giúp mặc định đó - "Nhập tiêu đề ở đây" - trong bài đăng tùy chỉnh của tôi sang thứ khác không?


1
Đối với những người đang xem câu hỏi này ngay bây giờ (kể từ WordPress 3.1), vui lòng xem một số câu trả lời mới hơn bên dưới để có giải pháp tốt hơn (nhiều cách "WordPress Way" hơn).
Tom Auger

Câu trả lời:


21

Không có cách nào để tùy chỉnh chuỗi đó một cách rõ ràng. Nhưng nó được truyền qua chức năng dịch và do đó rất dễ lọc.

Hãy thử một cái gì đó như thế này (đừng quên thay đổi loại bài đăng của bạ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
Sử dụng bộ lọc enter_title_here
Pbearne

2
Tốt, nhưng xem câu trả lời mới dưới đây.
Đánh dấu

35

Tôi biết tôi đến bữa tiệc muộn một chút, nhưng tôi muốn thêm rằng enter_title_herebộ lọc đã được thêm cụ thể cho mục đích này trong 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;
}

Thay đổi your_post_typeyour_textdomainđể phù hợp với tên loại bài đăng và tên miền văn bản của riêng bạn.


5
Làm rõ nhỏ. Không nên có bất kỳ nhu cầu nào đối với kiểm tra is_admin () vì bộ lọc này sẽ chỉ kích hoạt khi ở trong khu vực quản trị. Nếu vì lý do nào đó bạn có biểu mẫu mặt trước, thì rất có thể bạn sẽ muốn bộ lọc này được áp dụng.
Philip Downer

7

Xin lỗi để đào câu hỏi này từ mộ, nhưng có một giải pháp tốt hơn được cung cấp kể từ WordPress 3.1. Bộ enter_title_herelọc.

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
Câu trả lời mang tính xây dựng mới luôn được chào đón.
Pieter Goosen

Đây là câu trả lời đúng (hiện đại), tuy nhiên câu trả lời của Martin-Al nhớ sử dụng chức năng bao bọc nội địa hóa gettext, do đó cũng nên được nghiên cứu cẩn thận: wordpress.stackexchange.com/a/6819/3687
Tom Auger


2

Cách tốt nhất để có được định dạng tiêu đề bạn muốn là xóa hoàn toàn tiêu đề và thêm hai trường tùy chỉnh cho các phần tên với nhãn phù hợp. Khi bài đăng được lưu, hãy tạo tiêu đề cho mỗi PHP.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.