it-swarm.com.de

wie ändere ich das "Veröffentlichungsdatum" -Format in edit.php (Posts-Seite)?

In edit.php ist der Hauptinhalt eine Liste von Beiträgen mit Spalten, die das Veröffentlichungsdatum enthalten.

Ich möchte das Datumsformat des veröffentlichten Datums ändern nur auf der Admin-Seite . In diesem Fall möchte ich nicht ändern, was die Benutzer sehen. Ich möchte ändern, was der Administrator sieht.

Ich möchte den Wochentag zum veröffentlichten/geplanten Datum hinzufügen, da ich vorhabe, "zumindest jeden Dienstag" zu veröffentlichen, und sicherstellen möchte, dass ich die Posts korrekt geplant habe.

Nach der Suche scheint es die beste Möglichkeit zu sein, ein benutzerdefiniertes Feld zu erstellen. Wenn dies jedoch subtiler ist, würde ich es vorziehen, das benutzerdefinierte Feld-Plugin nicht zu installieren.

bearbeiten: Dank Bainternets Kommentar sehe ich, dass ich bereits benutzerdefinierte Felder habe (die Option wurde nur standardmäßig ausgeblendet). Und ich sehe, benutzerdefinierte Felder sind nicht was ich will. Die Daten sind bereits vorhanden. Ich möchte es nur auf dem Bildschirm anders formatieren.

2
Thunder Rabbit
  1. Fügen Sie dem Post-Edit-Bildschirm eine Spalte hinzu und formatieren Sie das Datum, wie Sie möchten.

  2. Entfernen Sie die Standard-Datumsspalte .

EDITHier ist der Code, der in die functions.php-Datei Ihres Themas eingefügt werden soll:

EDIT 2 Zusätzlicher Code hinzugefügt, um den Veröffentlichungsstatus hinzuzufügen und die Spalte sortierbar zu machen. Dies sollte nun eine vollständige Kopie der ursprünglichen Datumsspalte sein.

function my_custom_columns( $columns ) {
  unset( $columns['date'] );
  $columns['mydate'] = 'My Custom Date';
  return $columns;
}

function my_format_column( $column_name , $post_id ) {
    if($column_name == 'mydate'){
        echo get_the_time( 'l, F j, Y', $post_id )."<br>".get_post_status( $post_id );
    }
}

function my_column_register_sortable( $columns ) {
    $columns['mydate'] = 'mydate';
    return $columns;
}

function my_column_orderby( $vars ) {
    if ( isset( $vars['orderby'] ) && 'mydate' == $vars['orderby'] ) {
        $vars = array_merge( $vars, array(
            'orderby' => 'date'
        ) );
    }
    return $vars;
}

function my_column_init() {
  add_filter( 'manage_posts_columns' , 'my_custom_columns' );
  add_action( 'manage_posts_custom_column' , 'my_format_column' , 10 , 2 );
  add_filter( 'manage_edit-post_sortable_columns', 'my_column_register_sortable' );
  add_filter( 'request', 'my_column_orderby' );
}
add_action( 'admin_init' , 'my_column_init' );

Vielen Dank an Scribu für sein Tutorial zu sortierbaren Spalten

6
Milo

Sie können einfach den Filter post_date_column_time verwenden:

add_filter( 'post_date_column_time' , 'my_post_date_column_time' , 10 , 2 );

function my_post_date_column_time( $h_time, $post ) {
    $h_time = get_post_time( 'l, F j, Y', false, $post );
    return $h_time;
}
4
LUIS