在多站点中按站点/博客栏排序

时间:2013-01-24 作者:Jens Törnell

我使用WordPress Multisite并制作了一个插件,可以添加包含一些数据的列。我的代码基于此WP Engineer article.

WordPress Multisite中的关键功能是manage_sites_custom_column. 问题是我想对我创建的列进行排序。

我试过这个密码Scribu\'s article 但它是基于manage_posts_custom_column 对于单个站点。

2 个回复
SO网友:brasofilo

tried to solve 此问题之前。再看一下,我们可以使用query 过滤器挂钩。

假设我们的自定义排序URL为http://example.com/wp-admin/network/sites.php?orderby=site_category

add_action( \'plugins_loaded\', function()
{
    global $pagenow;
    if( 
        is_super_admin() 
        && \'sites.php\' == $pagenow
        && isset( $_GET[\'orderby\'] ) 
        && \'site_category\' == $_GET[\'orderby\'] 
    ) 
        add_filter( \'query\', \'b5f_filter_site_query\' );
});

function b5f_filter_site_query( $query )
{
    global $wpdb;
    if( FALSE !== strpos( $query, "SELECT * FROM {$wpdb->blogs} WHERE site_id = \'1\'  LIMIT 0, 20" ) )
        $query = "SELECT * FROM {$wpdb->blogs} WHERE site_id = \'1\'  ORDER BY mature DESC LIMIT 0, 20";
    return $query;
}
Yes, 我在玩mature 柱也许,可以进行一个优化的SQL查询,但我的联盟。。。此列是TINYINT(2). WordPress识别01, 给我们留下98个选项。就我而言,足够分类了。

如果mature > 1, 该站点在中标记为site-info.php, 但不在sites.php. 我真的不确定成熟是如何影响网站输出的
使用mature 专栏自由地告诉WordPress一切正常,别担心,在sites.php 屏幕:

add_action( \'plugins_loaded\', function()
{
    global $pagenow;
    if( \'sites.php\' != $pagenow )
        add_filter( \'blog_details\', \'b5f_hack_mature_queries\' );

    # Hide the Mature checkbox in site-info.php
    add_action( \'admin_footer\', \'b5f_print_sites_footer\' );
});

function b5f_hack_mature_queries( $details )
{
    $details->mature = 0;
    return $details;
}

function b5f_print_sites_footer()
{
    if( \'site-info-network\' != get_current_screen()->id )
        return;

echo <<<HTML
    <script type="text/javascript">
        jQuery(document).ready( function($) {
            $(".form-table").find("label:contains(\'Mature\')").remove();
        });
    </script>
HTML;
}

SO网友:Nagmay

不是完整答案。。。但对于正在搜索如何改变“站点”页面可排序性的其他人来说。

以下操作未按预期工作:

add_filter(\'manage_sites_sortable_columns\', ...
相反,请尝试:

add_filter(\'manage_sites-network_sortable_columns\', ...

结束

相关推荐

Tags Sorted By Characters?

如果我在一篇文章中放置了多个标签,那么在发布文章后,所有标签都会按字符序列自动排列,比如B C D。。。任何想法,如果我希望有所有的标签将不会排序或按字符序列排列。。。。所以,第一个标签将是第一个,最后一个标签将放置在最后。。。尽管第一个标记可能以Z开头,最后一个标记以A开头。。那么,我所说的保持标签序列静态的方法是什么呢?