#1 楼
无法显式自定义该字符串。但是它是通过翻译功能传递的,因此很容易过滤。尝试这样的操作(不要忘记更改为您的帖子类型):
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
–熊熊
16年1月18日在20:27
很好,但是请在下面查看新答案。
–马克
16-10-26在21:23
#2 楼
我知道我在这里参加聚会有点晚了,但是我想补充一下,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;
}
< br更改
your_post_type
和your_textdomain
以匹配您自己的帖子类型名称和文本域。评论
小澄清。不需要进行is_admin()检查,因为此过滤器本身仅在管理区域中才会触发。如果出于某种原因您有一个前端表单,则很可能想无论如何都要应用此过滤器。
– Philip Downer
13年2月9日在22:30
#3 楼
很抱歉从头开始挖掘这个问题,但是自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' );
评论
我们总是欢迎新的建设性答案。
–Pieter Goosen
2014年5月23日7:37
这是正确的(现代)答案,但是Martin-Al的答案记得使用gettext本地化包装函数,因此也应仔细研究:wordpress.stackexchange.com/a/6819/3687
–汤姆·俄格(Tom Auger)
16 Dec 6'在16:55
#4 楼
在第246行(第329行,从WP3.5开始)中查看wp-admin/edit-form-advanced.php
<label class="screen-reader-text" id="title-prompt-text" for="title">
<?php echo apply_filters( 'enter_title_here', __( 'Enter title here' ), $post ); ?>
</label>
评论
需要明确的是,这是3.1中的新功能。
– Jan Fabry
2011-2-18 14:26
评论
对于现在(从WordPress 3.1开始)正在关注此问题的人们,请查看以下一些较新的答案,以获得更好的(更多“ WordPress Way”解决方案)。