ディレクトリ用に作成されたカスタム投稿タイプがあり、その結果、アルファベット順に並べ替えられます。私はタイトルをアルファベット順にソートするので、タイトルが姓/名として入力されていることを確認します。カスタム投稿のデフォルトのヘルプテキスト「Enter Title Here」を変更する方法はありますか?
その文字列を明示的にカスタマイズする方法はありません。しかし、それは翻訳機能を通過するので、フィルタリングは簡単です。
このようなことを試してください(あなたの投稿タイプに変更することを忘れないでください):
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;
}
私はここでパーティーに少し遅れていることを知っています、しかし私は 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_type
とyour_textdomain
を自分の投稿タイプ名とテキストドメインに合うように変更してください。
Graveからこの質問を掘り下げて申し訳ありませんが、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' );
wp-admin/edit-form-advanced.php
の246行目を見てください。 (329行、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>
必要なタイトル形式を取得する最善の方法は、タイトルを完全に削除し、適切なラベルを付けた名前部分に2つのカスタムフィールドを追加することです。投稿が保存されたら、PHPごとにタイトルを作成します。