it-swarm.com.de

Hinzufügen der Spalte "Menüreihenfolge" zum Administratorbildschirm für benutzerdefinierte Posts

Ich möchte das Attribut menu order verwenden, um die Bestellung für einen benutzerdefinierten Beitragstyp zu steuern, der für einen bestimmten Zweck verwendet wird.

Es ist einfach genug, dies über supports => array('page-attributes') zum CPT hinzuzufügen, aber wie kann ich den Wert der Menüreihenfolge auf dem Bildschirm mit der Administratorliste für dieses CPT anzeigen?

31
anu

OK - am Ende erwies es sich als ziemlich einfach - da ich eine Art mentale Blockade hatte - menu_order ist eine Variable im $post-Objekt (danke an @brady, der mich daran erinnert hat).

@ scribus Beitrag zum Erstellen sortierbarer Spaltenwerte gibt dann den Rest.

Angenommen, der benutzerdefinierte Beitragstyp heißt header_text, dann sind dies die Funktionen und Hooks, die benötigt werden:

Neue Spalte für die Bestellung hinzufügen

/**
* add order column to admin listing screen for header text
*/
function add_new_header_text_column($header_text_columns) {
  $header_text_columns['menu_order'] = "Order";
  return $header_text_columns;
}
add_action('manage_edit-header_text_columns', 'add_new_header_text_column');

Spaltenwerte rendern

/**
* show custom order column values
*/
function show_order_column($name){
  global $post;

  switch ($name) {
    case 'menu_order':
      $order = $post->menu_order;
      echo $order;
      break;
   default:
      break;
   }
}
add_action('manage_header_text_posts_custom_column','show_order_column');

Spalte sortierbar machen

/**
* make column sortable
*/
function order_column_register_sortable($columns){
  $columns['menu_order'] = 'menu_order';
  return $columns;
}
add_filter('manage_edit-header_text_sortable_columns','order_column_register_sortable');
46
anu

Es ist zu lange her, aber nur für den Datensatz können Sie die Option "Menüreihenfolge" im Administrator anzeigen, indem Sie einfach "Seitenattribute" in das Optionsfeld "Unterstützungen" aufnehmen. Zum Beispiel:

    register_post_type( 'columna',
    array(
        'labels' => array(
            'name' => __( 'Columnas' ),
            'singular_name' => __( 'Columna' ),
        ),
        'supports' => array( 'title', 'thumbnail', 'excerpt', 'page-attributes' ),
        'public' => true,
        'has_archive' => false,
        'menu_position'=>5
    )
);
5
Juan Salas