根据帖子格式更改“在此处输入标题”

时间:2012-05-19 作者:Daniel

我想知道是否可以根据您选择的帖子格式更改文本“在此处输入标题”?例如:如果选择post格式Quote 您的文本将是“输入作者的引用”。这可能吗?

2 个回复
最合适的回答,由SO网友:Adam 整理而成

您需要执行以下操作:;

jQuery(document).ready(function( $ ) {

    $(\'input.post-format\').click(function(){

    $(\'#title-prompt-text\').val( $(this).next(\'label\').text());

    })

});
这将用您选择的任何帖子格式替换标题。

将上述内容保存到名为custom-post-title.js 您需要将此文件放入主题文件夹中。在根目录中或在名为/js/ - 但请注意,如果您将其放在子文件夹中,请确保在我给您的下一个片段中反映这一点。

然后在你的主题中functions.php 文件您需要将脚本排队,以便在管理区域中使用,在这种情况下,我们将仅在帖子/页面编辑屏幕上将其排队(这样它就不会不必要地加载到其他地方并产生开销)。

function custom_post_title($hook) {
    if( \'edit.php\' != $hook )
        return;
    wp_enqueue_script( \'custom_post_title\', get_bloginfo(\'template_directory\') . \'/custom-post-title.js\', __FILE__) );
}
add_action( \'admin_enqueue_scripts\', \'custom_post_title\' );
使用admin_enqueue_scripts 过滤器意味着我们只在后端(管理区域)注入Javascript文件,而不是在前端,毕竟它对您的用户毫无用处。

如果您想添加更多的自定义项并更改默认的帖子标题,请使用(也可以在functions.php 文件);

function custom_title( $title ){

    $screen = get_current_screen();

    if ( \'post\' == $screen->post_type ) {

    $title = \'Choose your post format\';

    }

    return $title;

}

add_filter( \'enter_title_here\', \'custom_title\' );
这与Rutwick之前发布的内容类似;虽然这并没有解决您眼前的问题,但它确实扩展了自定义级别,因此您可以,

进入编辑屏幕时的默认帖子标题选择帖子格式时动态更新的帖子标题

备注:

我对jQuery进行了重要的更新,修改了;

$(\'#title-prompt-text\').text( $(this).val());

赞成

$(\'#title-prompt-text\').val( $(this).next(\'label\').text());

前者从输入字段的“value”属性中获取其属性,虽然在大多数情况下这样做很好,但WP分配“Standard”post_format A.value=0 而不是value=Standard - 对于所有其他post_formats 该值等于其名称的值。

原因是WP返回false 例如,当使用API函数时get_post_format(); 因此,这就是它决定确定其默认标准职位的方式。这确实有点愚蠢,所以后一种调整通过抓住input 相邻字段<label> 元素,它包含所需的帖子格式的名称。

SO网友:Rutwick Gangurde

去jQuery!您可以通过php实现这一点,但只有在编辑帖子时,您已经为其设置了帖子格式。但对于“添加新内容”,您不能,因为未设置post格式。

结束

相关推荐

如何从HTML<TITLE>中删除标语?

我正在设置的新博客上使用默认的Wordpress 2011主题。我现在基本上都准备好了。我有使用PHP/MySQL和HTML/CSS的经验,但还没有使用WordPress。当我建立博客时,它要求在我提供的“常规设置”下写一条标语。这显示在博客标题下方,这很好,但我不希望它出现在HTML标题中。目前<title> 元素如下所示:“Blog Name | Tagline”。我只想知道博客的名字。我怎样才能改变这个?