web-dev-qa-db-ja.com

ネットワークにすべてのサイトとユーザーが表示されない

私たちのワードプレスネットワークには10,000人以上のユーザーとブログがあります。

2つの問題があります。

  1. wp-admin/network/sites.phpを一覧表示する管理ブログには、1ページのみ表示され、ページ付けは行われず、すべてのブログリストが表示されず、ブログ数が表示されません。

  2. wp-admin/network/users.phpを一覧表示している管理ユーザーが1ページだけを表示し、ページ区切りが表示されず、すべてのユーザーリストが表示されず、ユーザー数が表示される(10113)。

どうすればこれを修正できるかアドバイスしてください。

6
Metalik

WordPressがそのようなリストを作成するとき、それは関数 wp_is_large_network() に対してチェックを実行します。それはユーザーとサイトに10000の制限を設定します、そしてあなたがその制限に達すると、高価なデータベース操作はもう実行されません。

同じ名前のフィルタが2つあるので、制限を変更できます。

例:

add_filter( 'wp_is_large_network', function( $state, $type, $count ) {

    if ( 'users' === $type )
        return $count > 30000;

    if ( 'sites' === $count )
        return $count > 20000;

    return $state;
}, 10, 3 )

その制限を完全に無効にしたい場合は、次のようにします。

add_filter( 'wp_is_large_network', '__return_false' );

データベースがそれを処理できることを確認してください。

8
fuxia