使用其他内容更改管理栏中的现有标签

时间:2012-04-18 作者:Scott

在管理栏中,管理员可以使用添加新下拉列表创建新帖子。在那里我想更改标签Post 去做别的事。

我该怎么做?我只需要代码在管理栏中进行更改,因为我已经有代码可以在管理部分的其他地方更改帖子标签。

如果您可以告诉我如何更改下拉列表中标签的顺序,则可以获得额外积分。

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

找到了我的答案,包括我的完整解决方案:

<?php
/*
Plugin Name: Rename Posts to News
Description: Rename built in posts to be called News
Version: 1.0
Author: Scott Cariss @ Philosophy Design
Author URI: http://www.philosophydesign.com
*/

// Not a WordPress context? Stop.
! defined( \'ABSPATH\' ) and exit;


add_action( \'init\', array ( \'chg_Posts_to_News\', \'init\' ) );
add_action( \'admin_menu\', array ( \'chg_Posts_to_News\', \'admin_menu\' ) );

class chg_Posts_to_News
{
    public static function init()
    {
        global $wp_post_types;
        $labels = &$wp_post_types[\'post\']->labels;
        $labels->name = \'Corporate News\';
        $labels->singular_name = \'Corporate News\';
        $labels->add_new = \'Add Corporate News\';
        $labels->add_new_item = \'Add Corporate News\';
        $labels->edit_item = \'Edit Corporate News\';
        $labels->new_item = \'Corporate News\';
        $labels->view_item = \'View Corporate News\';
        $labels->search_items = \'Search Corporate News\';
        $labels->not_found = \'No corporate news found\';
        $labels->not_found_in_trash = \'No corporate news found in trash\';
        $labels->name_admin_bar = \'Corporate News\';
    }

    public static function admin_menu()
    {
        global $menu;
        global $submenu;
        $menu[5][0] = \'Corporate News\';
        $submenu[\'edit.php\'][5][0] = \'Corporate News\';
        $submenu[\'edit.php\'][10][0] = \'Add Corporate News\';
    }
}
?>
只需要更改标签$labels->name_admin_bar = \'Corporate News\';

查看函数wp_admin_bar_new_content_menu( $wp_admin_bar ) 这涉及到放置这些下拉菜单项,那里没有允许我更改顺序的过滤器或挂钩,因此我只能假设如果没有一些JS黑客,它是不可行的。

SO网友:Arlo Bryan Guthrie

更新:如果你找到了这个答案,请不要这样做。使用$wp_post_types[\'post\']->labels->name_admin_bar 相反,如上所示。

我知道,我很马虎,很刻薄,但下面是我如何在管理栏的“新建”下拉菜单下将“帖子”改为“项目”:

function change_post_admin_bar_label() {
    ?>
    <script type="text/javascript">
        jQuery(document).ready(function($) {
            $(\'#wp-admin-bar-new-post > a\').text(\'Project\');
        });
    </script>
    <?php
}
add_action( \'wp_after_admin_bar_render\', \'change_post_admin_bar_label\' );

SO网友:Rutwick Gangurde

据我所知,你不能,因为没有应用到该标签的过滤器。(检查wp-includes/admin-bar.php, 第364行)。

但是你可以删除当前的一个,并添加你自己的链接来完成同样的功能,即添加新帖子。Check this 了解方法。

SO网友:Alex Reds

这是一篇写得很好的图坦卡门,甚至更多。。http://wp.tutsplus.com/tutorials/creative-coding/customizing-your-wordpress-admin/

结束

相关推荐

customizing recent posts

我正在写我的第一个wordpress博客,如果可能的话,我会尽量避免使用插件,因为很多东西实际上并不需要插件。我对php略知一二(我不懂,但我知道应该把它放在哪里,应该把什么文件放在哪里)。我了解如何更改周围的主题文件,CSS&;HTML。因此,如果我可以通过一些练习和时间来完成它,我宁愿手工编写代码,然后使用插件。我正在尝试设计我的主页侧边栏最近的帖子,我一点也不觉得难,但我不知道如何在最近的帖子中添加图像。我在每一篇帖子中都有一张图片,现在我只是想把第一张图片的缩略图放到我主页上的“最近的博客”