Schimbarea ordinii coloanelor pentru un tip de postare personalizat în pagina de administrare
Am creat un tip de postare personalizat (captură de ecran mai jos) și aș dori să schimb ordinea coloanelor. Este posibil să mut coloana "etichete" înaintea coloanei "dată"?
Captură de ecran:

Da, acest lucru este posibil. Am modificat acest lucru pentru tipul de postare implicit, dar este posibil și pentru unul personalizat.
Mai întâi verifică codex-ul:
http://codex.wordpress.org/Plugin_API/Action_Reference/manage_posts_custom_column
function your_columns_head($defaults) {
$new = array();
$tags = $defaults['tags']; // salvează coloana de tag-uri
unset($defaults['tags']); // elimină-o din lista de coloane
foreach($defaults as $key=>$value) {
if($key=='date') { // când găsim coloana de dată
$new['tags'] = $tags; // pune coloana de tag-uri înaintea ei
}
$new[$key]=$value;
}
return $new;
}
add_filter('manage_posts_columns', 'your_columns_head');
Poți modifica array-ul $defaults în acest fel după preferințe.

Da, puteți schimba ordinea listei afișate în Panoul de Administrare. Mai întâi trebuie să eliminați array-ul implicit, apoi să creați un array în ordinea dorită. Permiteți-mi să vă arăt cu un exemplu.
Următoarea imagine arată câmpurile implicite ale unui tip de postare personalizat.
Acum permiteți-mi să vă arăt cum puteți elimina câteva câmpuri suplimentare din această listă. Să presupunem că vreau să elimin câmpurile 'title' și 'tags' din listă și să adaug câmpurile personalizate ale tipului meu de postare, precum și să rearanjez ordinea câmpurilor din listă.
function add_ourteam_columns ( $columns ) {
unset($columns['title']);
unset($columns['tags']);
unset($columns['date']);
return array_merge ( $columns, array (
'name' => __ ('Nume'),
'designation' => __ ( 'Funcție' ),
'image' => __ ( 'Imagine' ),
'date' => __('Dată')
) );
}
add_filter ( 'manage_our-team_posts_columns', 'add_ourteam_columns' );
Dacă doriți să eliminați un câmp, folosiți pur și simplu unset(nume_câmp). Dacă doriți să schimbați ordinea listei, mai întâi eliminați acel câmp, apoi creați un nou array și adăugați câmpul înainte sau după alte câmpuri. Sper că acest exemplu vă va fi de folos.
