php调用未定义的函数_php – 调用未定义的函数convert_to_screen()

我正在开发一个插件,我必须扩展类WP_List_Table.我已经在我的插件文件中扩展了类(我不知道这是否是正确的方法?)并包含WP_List_Table,如下所示:

if(!class_exists('WP_List_Table')){

require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );

}

然后是扩展类的代码,然后我创建了一个我的表类的实例,如下所示:

if ( ! class_exists( 'WP_List_Table' ) ) {

require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );

}

Class Wp_Ban_User extends WP_List_Table

{

public function __construct()

{

add_action('admin_menu',array($this,'WBU_adminMenu'));

parent::__construct( array(

'singular'=> 'wp_list_text_link', //Singular label

'plural' => 'wp_list_test_links', //plural label, also this well be one of the table css class

'ajax' => false //We won't support Ajax for this table

) );

$this->prepare_items();

$this->display();

}

function get_columns() {

$columns = array(

'id' => 'ID',

'user_login' => 'User Name',

'user_email' => 'User Email'

);

return $columns;

}

function column_default( $item, $column_name ) {

switch( $column_name ) {

case 'id':

case 'user_login':

case 'user_email':

return $item[ $column_name ];

default:

return print_r( $item, true ) ;

}

}

function prepare_items() {

$example_data = array(

array(

'id' => 1,

'user_login' => 'vasim',

'user_email' => 'vasim@abc.com'

),

array(

'id' => 2,

'user_login' => 'Asma',

'user_email' => 'Asma@abc.com'

),

array(

'id' => 3,

'user_login' => 'Nehal',

'user_email' => 'nehal@abc.com'

),

);

$columns = $this->get_columns();

$hidden = array();

$sortable = $this->get_sortable_columns();

$this->_column_headers = array($columns, $hidden, $sortable);

$this->items = $example_data;

}

public function WBU_adminMenu()

{

add_menu_page( 'Currently Logged In User', 'Banned User', 'manage_options', 'ban_admin_init', array($this,'ban_admin_init'));

}

function ban_admin_init(){

global $wpdb;

$sql="SELECT * from {$wpdb->prefix}users";

$sql_result=$wpdb->get_results($sql,'ARRAY_A');

print_r($sql_result);

//$this->items=$sql_result;

}

}

global $Obj_Wp_Ban_User;

$Obj_Wp_Ban_User=new Wp_Ban_User();

但是当我这样做时,我确实得到了这个错误:

Fatal error: Call to undefined function convert_to_screen() in

D:\xampp\htdocs\developplugin\wp-admin\includes\class-wp-list-table.php

on line 143

我做了一些研究,但不明白如何解决它.

有谁知道如何解决这个问题?

谢谢你的帮助!

最好的祝福.

最佳答案 抱歉我的英语不好,我是法国人.

我发现了这个问题.您的课程已更正(请参阅代码底部):

/*

Plugin Name: My List Table Example

*/

if ( ! class_exists( 'WP_List_Table' ) ) {

require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );

}

Class Wp_Ban_User extends WP_List_Table

{

public function __construct()

{

parent::__construct( array(

'singular'=> 'wp_list_text_link', //Singular label

'plural' => 'wp_list_test_links', //plural label, also this well be one of the table css class

'ajax' => false //We won't support Ajax for this table

) );

$this->prepare_items();

$this->display();

}

function get_columns() {

$columns = array(

'id' => 'ID',

'user_login' => 'User Name',

'user_email' => 'User Email'

);

return $columns;

}

function column_default( $item, $column_name ) {

switch( $column_name ) {

case 'id':

case 'user_login':

case 'user_email':

return $item[ $column_name ];

default:

return print_r( $item, true ) ;

}

}

function prepare_items() {

$example_data = array(

array(

'id' => 1,

'user_login' => 'vasim',

'user_email' => 'vasim@abc.com'

),

array(

'id' => 2,

'user_login' => 'Asma',

'user_email' => 'Asma@abc.com'

),

array(

'id' => 3,

'user_login' => 'Nehal',

'user_email' => 'nehal@abc.com'

),

);

$columns = $this->get_columns();

$hidden = array();

$sortable = $this->get_sortable_columns();

$this->_column_headers = array($columns, $hidden, $sortable);

$this->items = $example_data;

}

}

// Render your admin menu outside the class

function WBU_adminMenu()

{

add_menu_page( 'Currently Logged In User', 'Banned User', 'manage_options', 'render_admin_page', 'render_admin_page');

}

// Create your menu outside the class

add_action('admin_menu','WBU_adminMenu');

// Render your page outside the class

function render_admin_page(){

global $wpdb;

$Obj_Wp_Ban_User=new Wp_Ban_User();

$Obj_Wp_Ban_User->prepare_items();

$sql="SELECT * from {$wpdb->prefix}users";

$sql_result=$wpdb->get_results($sql,'ARRAY_A');

print_r($sql_result);

}

这个简单:解决错误调用未定义函数convert_to_screen()你需要:

>在课堂外添加菜单

>在课堂外添加admin_menu操作

>在课堂外渲染管理页面

3天后,它对我有用!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值