Add more rows on media picker

时间:2011-11-15 作者:Kaaviar

我正在尝试在媒体选择器模式窗口中添加更多行。有什么干净的方法可以做到这一点吗?

谢谢

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

我的插件:http://wordpress.org/extend/plugins/mediapicker-more-rows/

I found a way to fix the pagination

有一种方法可以“钩住”paginate\\u链接。它没有官方挂钩,但您可以更改$wp\\u query->found\\u posts变量。

我在这里所做的是通过滥用media\\u upload\\u mime\\u type\\u links过滤器并为$wp\\u query->found\\u posts设置一个新值来“挂钩”到paginate\\u链接。

此筛选器在调用paginate\\u links之前触发。

function set_paginate_limit_mediapicker( $type_links )
{   
    global $wp_query;       

    $new_limit = 30; // set your limit
    $wp_query->found_posts = $wp_query->found_posts / ( $new_limit / 10 );

    return $type_links; // not used 
}   
add_filter( \'media_upload_mime_type_links\', \'set_paginate_limit_mediapicker\', 1 );
我为完整的解决方案制作了一个WordPress插件,您可以在存储库中找到。

http://wordpress.org/extend/plugins/mediapicker-more-rows/

SO网友:brasofilo

这是可行的,但最大的问题是解决分页问题,因为它完全被破坏了。

add_filter(\'post_limits\',\'wpse_33775_add_rows_to_media_library\',999,1);

function wpse_33775_add_rows_to_media_library($limits)
{   
    global $current_screen;
    $tab = isset( $_GET[\'tab\'] ) ? $_GET[\'tab\'] : "type";

    if( \'media-upload\' != $current_screen->id && \'library\' != $tab )
        return $limits;

    $my_new_limit = \'100\';
    $limits = str_replace(\'10\',$my_new_limit,$limits); // replacing the default 10

    return $limits;
}
有什么方法可以钩住这里吗?

/*
 * WordPress 3.3.2
 * /wp-admin/includes/media.php
 * line 1828
 *
 */   
$page_links = paginate_links( array(
    \'base\' => add_query_arg( \'paged\', \'%#%\' ),
    \'format\' => \'\',
    \'prev_text\' => __(\'«\'),
    \'next_text\' => __(\'»\'),
    \'total\' => ceil($wp_query->found_posts / 10),
    \'current\' => $_GET[\'paged\']
));

if ( $page_links )
    echo "<div class=\'tablenav-pages\'>$page_links</div>";

结束

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register