Recept: een kolom aan een lijsttabel toevoegen
Doel: een nieuwe kolom in een adminlijst, bijvoorbeeld de productlijst, die met de lijststijl van Addofy werkt.
Gebruik de native hooks
Addofy ondersteunt de native WordPress-hooks voor kolommen. Voeg de jouwe op de gebruikelijke manier toe:
add_filter( 'manage_edit-product_columns', static function ( array $columns ) {
$columns['myplugin_margin'] = esc_html__( 'Margin', 'myplugin' );
return $columns;
} );
add_action( 'manage_product_posts_custom_column', static function ( string $column, int $post_id ) {
if ( 'myplugin_margin' === $column ) {
echo esc_html( myplugin_margin( $post_id ) );
}
}, 10, 2 );
adba_list_table_columns draait nadat elke plugin zijn kolommen heeft toegevoegd en krijgt de definitieve lijst kolomsleutel => label en het scherm-id. Gebruik hem alleen om te wijzigen wat andere plugins deden.
Toon hem op tablets
Op een tablet (601 tot 782px) beslist Addofy per kolom of hij zichtbaar blijft. Geef je kolom een prioriteit met adba_column_priority:
- 1 toont altijd.
- 2 toont vanaf 701px.
- 3 toont niet op een tablet. Een kolom zonder prioriteit telt als 3.
add_filter( 'adba_column_priority', static function ( array $priorities, string $screen_id ) {
if ( 'edit-product' === $screen_id ) {
$priorities['edit-product']['myplugin_margin'] = 2;
}
return $priorities;
}, 10, 2 );
Volgorde en breedte
Gebruikers kunnen kolommen naar hun eigen volgorde slepen en, met de experimentele module Kolombreedtes, de breedte wijzigen. Daar hoef je zelf niets voor te doen. Wil je een volgorde of breedte in code instellen, zie dan adba_column_order en adba_column_widths.