Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Wordpress WP列表实现_Php_Wordpress - Fatal编程技术网

Php Wordpress WP列表实现

Php Wordpress WP列表实现,php,wordpress,Php,Wordpress,我在实现WP列表时收到以下错误消息 致命错误:在中调用未定义的函数convert_to_screen() …/wp admin/includes/class-wp-list-table.php 在线88 我已通过包含以下行解决了此问题 require_once(ABSPATH . 'wp-admin/includes/template.php' ); 在此之后,WP列表在我的插件中运行良好。但我在激活我的插件时,却没有引起注意 注意:convert_to_screen()、add_meta_b

我在实现WP列表时收到以下错误消息

致命错误:在中调用未定义的函数convert_to_screen() …/wp admin/includes/class-wp-list-table.php 在线88

我已通过包含以下行解决了此问题

require_once(ABSPATH . 'wp-admin/includes/template.php' );
在此之后,WP列表在我的插件中运行良好。但我在激活我的插件时,却没有引起注意

注意:convert_to_screen()、add_meta_box()的调用不正确。 可能直接包含wp admin/includes/template.php,以便 使用add_meta_box()。这是非常错误的。钩住add_meta_box()调用 改为“添加元框”操作。请参阅中的调试 WordPress了解更多信息。(此消息是在版本中添加的。) 3.3.)在/var/www/wordpress\u RND/wordpress3.8.1/wp-includes/functions.php中 第3049行

有人知道这个通知吗。我正在使用Wordpress版本3.8.1

下面是请求的最低代码

define('FRM_PLUGIN_DIR_PATH_INC',trailingslashit(PLUGIN_DIR_PATH('uuu FILE_))。../INC');
如果(!class_存在('WP_列表_表')){
require_once(ABSPATH.'wp admin/includes/class wp list table.php');
}
//在第行下方注释会导致错误。
require_once(ABSPATH.'wp admin/includes/template.php');
将任何表格功能扩展到WP列表表格{
公共函数列表表单(){
回声“;
$this->prepare_items();
$this->display();
回声“;
}
函数get_columns(){
$columns=数组(
//“cb'=>”,
'booktitle'=>'Title',
“作者”=>“作者”,
“isbn”=>“isbn”,
);
返回$columns;
}
函数列\u默认值($item,$column\u name){
开关($column\u name){
“书名”一案:
案例“作者”:
案例“isbn”:
返回$item[$column_name];
违约:
返回print_r($item,true);//显示整个数组以进行故障排除
}
}
函数prepare_items(){
$example_data=array(
数组('ID'=>1,'booktitle'=>'Quarter Share','author'=>'Rakesh','isbn'=>'978-0982514542')
,数组('ID'=>2,'booktitle'=>'季度份额','author'=>'Rakesh','isbn'=>'978-0982514542')
);
$columns=$this->get_columns();
$hidden=array();
$sortable=$this->get_sortable_columns();
$this->_column\u headers=数组($columns,$hidden,$sortable);
$this->items=$example\u数据;
}
}

如果还需要,请告诉我。

我所做的唯一更改是删除
listForm
方法并添加
\u构造。工作时不需要PHP通知,也不需要包含
wp admin/includes/template.PHP

add_action('admin_menu', function () 
{
    add_menu_page(
        'TE', 
        '<span style="color:#e57300;">Table Example</span>', 
        'edit_pages', 
        'table-example', 
            function() { 
                echo '<div class="wrap">';
                echo '<h2>Table Example</h2>';
                new Table_SO_22371861(); 
                echo '</div>';
            },
        'http://sstatic.net/stackexchange/img/favicon.ico',
        1  // create before Dashboard menu item
    );
});
if( !class_exists( 'WP_List_Table' ) )
    require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );

class Table_SO_22371861 extends WP_List_Table{
    public function __construct()
    {
        parent::__construct( array(
            'singular' => 'table example',
            'plural'   => 'table examples',
            'ajax'     => true
        ) );
        $this->prepare_items();
        $this->display();
    }

    function get_columns(){
        $columns = array(
            //'cb'        => '<input type="checkbox" />',
            'booktitle' => 'Title',
            'author'    => 'Author',
            'isbn'      => 'ISBN',
        );
        return $columns;
    }

    function column_default( $item, $column_name ) {
        switch( $column_name ) {
            case 'booktitle':
            case 'author':
            case 'isbn':
                return $item[ $column_name ];
            default:
                return print_r( $item, true ) ; //Show the whole array for troubleshooting purposes
        }
    }

    function prepare_items() {
        $example_data = array(
            array('ID' => 1,'booktitle' => 'Quarter Share', 'author' => 'Rakesh','isbn' => '978-0982514542')
            ,array('ID' => 2,'booktitle' => 'Quarter Share', 'author' => 'Rakesh','isbn' => '978-0982514542')
        );
        $columns = $this->get_columns();
        $hidden = array();
        $sortable = $this->get_sortable_columns();
        $this->_column_headers = array($columns, $hidden, $sortable);
        $this->items = $example_data;
    }
}
add_操作('admin_菜单',函数()
{
添加菜单页面(
"TE",,
“表格示例”,
“编辑页面”,
“表格示例”,
函数(){
回声';
回声“表格示例”;
新表_SO_22371861();
回声';
},
'http://sstatic.net/stackexchange/img/favicon.ico',
1//在仪表板菜单项之前创建
);
});
如果(!class_存在('WP_列表_表'))
require_once(ABSPATH.'wp admin/includes/class wp list table.php');
类表\u SO\u 22371861扩展了WP\u列表\u表{
公共函数构造()
{
父项::_构造(数组)(
'单数'=>'表格示例',
“复数”=>“表格示例”,
“ajax”=>正确
) );
$this->prepare_items();
$this->display();
}
函数get_columns(){
$columns=数组(
//“cb'=>”,
'booktitle'=>'Title',
“作者”=>“作者”,
“isbn”=>“isbn”,
);
返回$columns;
}
函数列\u默认值($item,$column\u name){
开关($column\u name){
“书名”一案:
案例“作者”:
案例“isbn”:
返回$item[$column_name];
违约:
返回print_r($item,true);//显示整个数组以进行故障排除
}
}
函数prepare_items(){
$example_data=array(
数组('ID'=>1,'booktitle'=>'Quarter Share','author'=>'Rakesh','isbn'=>'978-0982514542')
,数组('ID'=>2,'booktitle'=>'季度份额','author'=>'Rakesh','isbn'=>'978-0982514542')
);
$columns=$this->get_columns();
$hidden=array();
$sortable=$this->get_sortable_columns();
$this->_column\u headers=数组($columns,$hidden,$sortable);
$this->items=$example\u数据;
}
}

查看下面的扩展示例:

我正在研究WP列表,找到了这篇文章。。。你有没有试过我的解决方案?看看这个,我刚才在错误通知上也有同样的问题。我的问题是,在扩展WP_List_Table类之后,我调用了一次我的新类,当需要该类时,我在代码中再次调用该类。删除第一个实例化(紧跟在类扩展之后)修复了错误。
add_action('admin_menu', function () 
{
    add_menu_page(
        'TE', 
        '<span style="color:#e57300;">Table Example</span>', 
        'edit_pages', 
        'table-example', 
            function() { 
                echo '<div class="wrap">';
                echo '<h2>Table Example</h2>';
                new Table_SO_22371861(); 
                echo '</div>';
            },
        'http://sstatic.net/stackexchange/img/favicon.ico',
        1  // create before Dashboard menu item
    );
});
if( !class_exists( 'WP_List_Table' ) )
    require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );

class Table_SO_22371861 extends WP_List_Table{
    public function __construct()
    {
        parent::__construct( array(
            'singular' => 'table example',
            'plural'   => 'table examples',
            'ajax'     => true
        ) );
        $this->prepare_items();
        $this->display();
    }

    function get_columns(){
        $columns = array(
            //'cb'        => '<input type="checkbox" />',
            'booktitle' => 'Title',
            'author'    => 'Author',
            'isbn'      => 'ISBN',
        );
        return $columns;
    }

    function column_default( $item, $column_name ) {
        switch( $column_name ) {
            case 'booktitle':
            case 'author':
            case 'isbn':
                return $item[ $column_name ];
            default:
                return print_r( $item, true ) ; //Show the whole array for troubleshooting purposes
        }
    }

    function prepare_items() {
        $example_data = array(
            array('ID' => 1,'booktitle' => 'Quarter Share', 'author' => 'Rakesh','isbn' => '978-0982514542')
            ,array('ID' => 2,'booktitle' => 'Quarter Share', 'author' => 'Rakesh','isbn' => '978-0982514542')
        );
        $columns = $this->get_columns();
        $hidden = array();
        $sortable = $this->get_sortable_columns();
        $this->_column_headers = array($columns, $hidden, $sortable);
        $this->items = $example_data;
    }
}