可以重命名帖子格式吗?

时间:2011-04-10 作者:snthr

自WP 3.1以来,可以使用Tumblr样式post formats. 我想在主题中使用“aside”选项,但我希望它在WP管理区域中有不同的标题。

因此,例如,当用户写帖子时,他们可以选择“标准”或“快速”,而不是“标准”或“旁白”。

是否可以在不修改核心的情况下执行此操作?如果可以通过函数轻松完成,那就太好了。php等。我生活在希望中。。。

谢谢

6 个回复
最合适的回答,由SO网友:Ján Bočínec 整理而成

我认为这是目前唯一的办法。将其放入函数中。在主题文件夹中创建php,或创建一个简单的插件:

function rename_post_formats( $safe_text ) {
    if ( $safe_text == \'Aside\' )
        return \'Quick\';

    return $safe_text;
}
add_filter( \'esc_html\', \'rename_post_formats\' );

//rename Aside in posts list table
function live_rename_formats() { 
    global $current_screen;

    if ( $current_screen->id == \'edit-post\' ) { ?>
        <script type="text/javascript">
        jQuery(\'document\').ready(function() {

            jQuery("span.post-state-format").each(function() { 
                if ( jQuery(this).text() == "Aside" )
                    jQuery(this).text("Quick");             
            });

        });      
        </script>
<?php }
}
add_action(\'admin_head\', \'live_rename_formats\');

SO网友:Aaron

要做到这一点,一种更可靠(且不太老套)的方法是:

function rename_post_formats($translation, $text, $context, $domain) {
    $names = array(
        \'Audio\'  => \'Podcast\',
        \'Status\' => \'Tweet\'
    );
    if ($context == \'Post format\') {
        $translation = str_replace(array_keys($names), array_values($names), $text);
    }
    return $translation;
}
add_filter(\'gettext_with_context\', \'rename_post_formats\', 10, 4);

SO网友:EAMann

Post格式硬编码到WordPress中。您无法更改它们,但正如Johnnipea指出的那样,您可以通过几个技巧隐藏现有名称。

Chip Bennett建议,如果您真的需要创建自己的一组post格式,请设置自己的自定义分类法,我强烈支持这一建议。

但请花点时间想想这个。帖子格式旨在帮助您为读者设计博客输出的样式。读者不在乎这是一篇旁白还是一篇快讯,他们只关心帖子内容的呈现方式。如果您只是想为自己更改管理端的post格式标签,那么请滚动您自己的自定义分类法并使用它。

SO网友:Chip Bennett

正确的方法是注册一个自定义分类法,而不使用核心Post格式。

SO网友:davidcondrey

我已经自定义了帖子格式,并将它们水平显示在帖子编辑器页面顶部的选项卡栏中。我定制了他们的名字,就像这样。这是一个相当复杂的过程,但如果您想查看,我会将其粘贴到要点中:https://gist.github.com/dcondrey/059dec0c5b01197c9f11

最终结果如下:

enter image description here

SO网友:MikelKing

我认为更改这些帖子格式的标题以适应编辑团队和流程的需要没有什么错。除非更改名称会使主题功能无法正确呈现它们。这些格式背后的思想是,主题可以说明哪些是受支持的,只有那些才会在编辑器中列出。

据我所知,JohnyPea的方法不会破坏主题方面的任何东西。我很好奇是否有人尝试过亚伦的方法。如果是这样的话,你就可以毫无问题地切换主题了。

归根结底,我们所讨论的是使这些内容在语义上对编辑人员更有用,如果我们只对名称更改/同义词感兴趣,那么定制帖子类型可能会有些过头。

结束

相关推荐

获取在Functions.php中设置的变量,并在我的Custom Post模板中回显它们

在我的函数中设置了以下函数。php文件,以允许我的自定义帖子类型“Slideshow”工作。add_action( \'the_post\', \'paginate_slide\' ); function paginate_slide( $post ) { global $pages, $multipage, $numpages; if( is_single() && get_post_type() == \'lom_s