カスタム投稿タイプの「ここにタイトルを入力」ヘルプテキストを変更する


20

アルファベット順にソートされるディレクトリ用に作成されたカスタム投稿タイプがあります。投稿をタイトルごとにアルファベット順に並べ替えるので、タイトルが姓/名として入力されていることを確認します。カスタムの投稿でデフォルトのヘルプテキスト「ここにタイトルを入力してください」を他の何かに変更する方法はありますか?


1
(WordPress 3.1以降)この質問を今見ている人は、より良い(より多くの「WordPress Way」ソリューション)以下の新しい回答をご覧ください。
トム・オージェ

回答:


21

その文字列を明示的にカスタマイズする方法はありません。ただし、変換関数を介して渡されるため、簡単にフィルタリングできます。

次のようなものを試してください(投稿タイプに変更することを忘れないでください):

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
フィルターを使用してくださいenter_title_here
Pbearne

2
良いですが、以下の新しい回答をご覧ください。
マーク

35

私はここでパーティーに少し遅れていることを知っていenter_title_hereますが、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;
}

を変更your_post_typeyour_textdomainて、独自の投稿タイプ名とテキストドメインを一致させます。


5
小さな説明。このフィルター自体は管理領域にあるときにのみ起動するため、is_admin()チェックの必要はありません。なんらかの理由でフロントエンドフォームがある場合は、このフィルターを適用することが非常に考えられます。
フィリップダウナー

7

この質問を深く掘り下げてすみませんが、WordPress 3.1以降、より優れたソリューションが提供されています。enter_title_hereフィルタ。

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
新しい建設的な答えはいつでも歓迎です。
ピーターグースン

これが正しい(現代の)答えは、しかし、マーティン・アルの答えは、gettextのローカライズラッパー関数を使用することを覚えているので、慎重に検討する必要があるだけでなく:wordpress.stackexchange.com/a/6819/3687
トム・オージェ


2

希望するタイトル形式を取得する最良の方法は、タイトルを完全に削除し、適切なラベルを持つ名前部分に2つのカスタムフィールドを追加することです。投稿を保存したら、PHPごとにタイトルを作成します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.