Je suis nouveau sur WordPress si quelqu'un m'aide, je l'apprécierai beaucoup.
Il existe un paramètre ajax "true" mais dans la documentation. on n'a pas dit comment implémenter Ajax en utilisant WP_List_Table Class?
parent::__construct( array(
'singular' => 'user', //singular name of the listed records
'plural' => 'users', //plural name of the listed records
'ajax' => true //does this table support ajax?
) );
Dans l'argument parent __construct si ajax est défini sur true, js_vars sera affiché dans le pied de page de la page.
/**
* Constructor. The child class should call this constructor from it's own constructor
*
* @param array $args An associative array with information about the current table
* @access protected
*/
function __construct( $args = array() ) {
$args = wp_parse_args( $args, array(
'plural' => '',
'singular' => '',
'ajax' => false
) );
$screen = get_current_screen();
add_filter( "manage_{$screen->id}_columns", array( &$this, 'get_columns' ), 0 );
if ( !$args['plural'] )
$args['plural'] = $screen->base;
$args['plural'] = sanitize_key( $args['plural'] );
$args['singular'] = sanitize_key( $args['singular'] );
$this->_args = $args;
if ( $args['ajax'] ) {
// wp_enqueue_script( 'list-table' );
add_action( 'admin_footer', array( &$this, '_js_vars' ) );
}
}
Les variables javascript par défaut qui sont affichées dans le pied de page sont définies dans la fonction js_vars:
/**
* Send required variables to JavaScript land
*
* @access private
*/
function _js_vars() {
$current_screen = get_current_screen();
$args = array(
'class' => get_class( $this ),
'screen' => array(
'id' => $current_screen->id,
'base' => $current_screen->base,
)
);
printf( "<script type='text/javascript'>list_args = %s;</script>\n", json_encode( $args ) );
}
Avez-vous déjà consulté un aperçu de la classe Méthodes WP_List_Table ? Il y a ajax_response()
...
ajax_response()
- utilisez-le pour implémenter votre jeu de règles d'autorisations personnalisées
public function ajax_response()
{
return current_user_can( 'manage_options' );
}
ajax_response()
- gère vos callbacks/actions ajax._js_vars()
- toutes les variables que vous souhaitez utiliser dans vos rappels ajax personnalisés. Fonctionne comme wp_localize_script()
.