Wordpress WP 목록 테이블 임플리테이션
WP List Table 구현 중 다음 오류 메시지가 표시됨
치명적 오류: .../wp-admin/includes/class-wp-list-table의 정의되지 않은 함수 convert_to_screen()을 호출합니다.88행의 php
다음 행을 포함하여 이 문제를 해결했습니다.
require_once(ABSPATH . 'wp-admin/includes/template.php' );
이 WP 리스트 테이블이 플러그인으로 정상적으로 동작하고 있습니다.하지만 플러그인 활성화 중에 아래와 같은 알림이 나타납니다.
주의: convert_to_screen() 및 add_meta_box()가 잘못 호출되었습니다.wp-admin/includes/template를 직접 포함할 수 있습니다.add_param_box를 사용하려면 php를 사용합니다.이것은 매우 잘못된 것이다.대신 add_meta_box() 호출을 add_meta_boxes 액션에 연결합니다.자세한 내용은 WordPress의 디버깅을 참조하십시오.(이 메시지는 버전 3.3에서 추가되었습니다.) /var/www/wordpress_RND/wordpress 3.8.1/wp-includes/functions에 추가되었습니다.3049행의 php
이 공지에 대해 아는 사람 있나요?Wordpress 버전 3.8.1을 사용하고 있습니다.
아래는 요청하신 최소 코드입니다.
define('FRM_PLUGIN_DIR_PATH_INC', trailingslashit( plugin_dir_path( __FILE__ ) ) .'../inc');
if( ! class_exists( 'WP_List_Table' ) ) {
require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
}
// Commenting below line result in error.
require_once(ABSPATH . 'wp-admin/includes/template.php' );
class Any_Forms_Funtions extends WP_List_Table{
public function listForm(){
echo "<div class='wrap'><form>";
$this->prepare_items();
$this->display();
echo "</form></div>";
}
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;
}
}
그 밖에 필요한 것이 있으면 가르쳐 주세요.
제가 한 유일한 변경은 이 파일을 삭제한 것입니다.listForm
메서드 및 추가__construct
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;
}
}
확장 예에 대해서는, 다음의 항목을 확인해 주세요.워드프레스 플러그인의 옵션 페이지에 페이지 번호를 붙이고 싶습니다.
언급URL : https://stackoverflow.com/questions/22371861/wordpress-wp-list-table-implemantation
'programing' 카테고리의 다른 글
반응 네이티브:네이티브 프로펠러 RCTView.maxHeight용 propType 없음 (0) | 2023.04.06 |
---|---|
JSON 스키마에서의 RegEx 사용 (0) | 2023.04.06 |
WordPress ID로 사용자 역할 가져오기 (0) | 2023.04.06 |
로드 시 Angularjs 체크박스가 기본적으로 켜져 있으며 이 체크박스를 켜면 목록 선택을 비활성화합니다. (0) | 2023.04.06 |
JSON에 날짜/시간을 저장하는 가장 좋은 방법은 무엇입니까? (0) | 2023.04.06 |