web-dev-qa-db-ja.com

4.4アップグレード後の致命的なエラーclass-wp-list-table

私は3年以上前から稼働しているプラ​​イベートWpプラグインの開発者です。プラグインはユーザーにカスタム情報を表形式で表示します。 v 4.4にアップグレードしたところ致命的なエラーが発生しました。致命的なエラー:.../wp-admin/includes/class-wp-list-table.phpの未定義のメソッドstdClass :: render_screen_reader_content()を呼び出してください760行

これは$ myclassextention-> display()からのものです。

以前のバージョンを見ると、パブリック表示機能は以前のバージョンとはまったく異なります。

どうすればいいのかわかりません...どうやら私は1人だけではありません... https://wordpress.org/support/topic/fatal-error-in-admin-pages-after-upgrading -to-wordpress-44

何かご意見は?私はBootstrapでテーブルを構築することを考えていました...そして、できるだけ早くこの解決されたものを手に入れる必要があります...私はこれを使っている1100人以上のユーザーを持っています。サポートチケットはもうすぐ登場します。

ところでこれはマルチサイトであり、ロールバックはオプションではありません。

見てくれてありがとう。

PS ...ポイントが足りないのでWordPressタグに投稿できませんか?本当に!それはただ変です!

編集:これは私が使用しているフォーマットです...私は正確なコードを表示することはできません。

私はコードを投稿して大きな混乱を起こしました...これが私がそれをベースにしたテンプレートです https://wordpress.org/plugins/custom-list-table-example/ ... like私はこれが1100人以上のユーザーと3年間働いていたと言いました。

5
user2823774

これは解決されました

2つの新しいファイルを追加しなければなりませんでした... Wordpressがいくつかのメソッドを新しい場所に移動したようです。

これらは私のために働いたファイルです

// Include WP's list table class
if(!class_exists('WP_List_Table')){
    require_once( ABSPATH . 'wp-admin/includes/class-wp-screen.php' );//added
    require_once( ABSPATH . 'wp-admin/includes/screen.php' );//added
    require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
    require_once( ABSPATH . 'wp-admin/includes/template.php' );
}

見てくれてありがとう。

5
user2823774

あなたがそこに持っている素晴らしい解決策。ただし、ページネーションメソッドを呼び出す前に、WP_List_Tableクラス(またはその子クラス)内に$ screenプロパティを定義する必要があります。

この関数を使用して$ screenプロパティをWP_Screenインスタンスとして作成します。

$this->screen = get_current_screen();

あなたはそこへ行きます、そしてあなたのテーブルは行く準備ができています。

ありがとう

4
sunsane