如何在admin_footer上方添加自定义小部件

时间:2013-03-06 作者:Roc

我试图完成的是在管理页面(edit.php)上放置自定义小部件。我尝试使用这两个函数:

将自定义html放在下方(<;正文>(最重要的是页面内容)

add_action( \'load-edit.php\', \'your_function\' );
function your_function() {
    include( plugin_dir_path( __FILE__ ) . \'quickpost/quickpost.php\');
}
将自定义html放置在下方(<;页脚>

add_action(\'admin_footer\', \'post_add_quickpost\');
function post_add_quickpost() {
    include( plugin_dir_path( __FILE__ ) . \'quickpost/quickpost.php\');
}
下面是我正在尝试将小部件放置在编辑的posts表的正上方。php页面。http://i.imgur.com/QKHkEqs.jpg

有没有办法指定代码的放置位置?我更喜欢使用“加载编辑”。php的行动,但如果这是不可能的-这对我来说是可以的。谢谢

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

据我所知,你有两种选择。

使用admin_footerload-edit.php 和位置absolutefixed, 或者使用JavaScript。

如果您创建了一个全新的帖子屏幕(不是默认的帖子、页面等),您可以扩展WP_List_Table 类,特别是extra_tablenav 作用

例如:

class My_Custom_Table extends WP_List_Table {

    function extra_tablenav( $which ) {

        if ( $which == "top" ){
            //The code that goes before the table is here
            echo "Hello, I\'m before the table";
           }
        if ( $which == "bottom" ){
            //The code that goes after the table is there
            echo "Hi, I\'m after the table";
           }
      }
}
据我所知,扩展这个类只能在自定义管理页面上工作,而不能在当前的现有页面上工作,因为没有可用的挂钩。您可以在此处阅读更多信息:http://codex.wordpress.org/Class_Reference/WP_List_Table

SO网友:bcorkins

我认为add_action( \'load-edit.php\', \'your_function\' ); 是正确的方法,因为它是唯一设计为仅在特定页面上触发的管理操作。我只需要设置我的元数据库的样式,使其绝对位于帖子列表的底部。

你也可以看看some other available actions 在管理员页面加载期间可用。如果找到更合适的插件,可以使用基本页面检查将插件加载到所需页面上,例如:

add_action( \'some-admin-action\', \'your_function\' );
function your_function() {
     global $pagenow;
     if (is_admin() && $pagenow==\'edit.php\')
           include( plugin_dir_path( __FILE__ ) . \'quickpost/quickpost.php\');
}

结束