Bestellnotizen mit Autor und Datum in der WooCommerce-Admin-Bestellliste anzeigen

Lesezeit: 3 Minuten

Benutzer-Avatar
Gelebrin

Verwenden “Bestellnotizen in der Admin-Bestellliste auf WooCommerce 3.3 anzeigen” Antwortcode, ich kann die Spalte Bestellnotizen in der Admin-Bestellliste hinzufügen, aber es zeigt nur, dass sich der Status von einem Status zu einem anderen geändert hat.

Jetzt möchte ich auch den Autor dieser Änderung und das Datum, an dem sie passiert ist, anzeigen, genau wie beim Bearbeiten von Seiten.

Irgendwelche Vorschläge?

Es ist nicht notwendig zu verwenden global $post, $the_order; mit manage_shop_order_posts_custom_column. Dies liegt daran, dass es einen 2. Parameter gibt, der die enthält $post_id


$latest_note enthält mehr als nur die Notiz, auch der Autor und das Datum sind ua verfügbar


Nach den Regeln der Technik, add CSS über ein Stylesheet, nicht über admin_head


Es ist immer schön zu sehen, ob Sie Code gefunden haben und zusätzliche Funktionen hinzufügen möchten. Sie versuchen es zuerst, bevor Sie um Hilfe bitten

Um Ihre Frage zu beantworten, wenden Sie Folgendes an

function custom_shop_order_column( $columns ) {
    $ordered_columns = array();

    foreach( $columns as $key => $column ){
        $ordered_columns[$key] = $column;
        if( 'order_date' == $key ){
            $ordered_columns['order_notes'] = __( 'Notes', 'woocommerce');
        }
    }

    return $ordered_columns;
}
add_filter( 'manage_edit-shop_order_columns', 'custom_shop_order_column', 10, 1 );


function custom_shop_order_list_column_content( $column, $post_id ) {

    // Get $order object
    $order = wc_get_order( $post_id );

    if ( $column == 'order_notes' ) {

        if ( $order->get_customer_note() ) {
            echo '<span class="note-on customer tips" data-tip="' . wc_sanitize_tooltip( $order->get_customer_note() ) . '">' . __( 'Yes', 'woocommerce' ) . '</span>';
        }

        // Retrieves the amount of comments a post has.
        $amount_of_comments = get_comments_number( $post_id );

        if ( $amount_of_comments > 0 ) {

            $latest_notes = wc_get_order_notes( array(
                'order_id' => $post_id,
                'limit'    => 1,
                'orderby'  => 'date_created_gmt',
            ) );

            $latest_note = current( $latest_notes );

            // Content
            $content = $latest_note->content;

            // Added by
            $added_by = $latest_note->added_by;

            // Date created - https://www.php.net/manual/en/function.date.php
            $date_created = $latest_note->date_created->date('j F Y - g:i:s');

            if ( isset( $content ) && $amount_of_comments == 1 ) {
                echo '<span class="note-on tips" data-tip="' . wc_sanitize_tooltip( 'Author: ' . $added_by . '<br/>' . 'Date: ' . $date_created . '<br/>' . $content ) . '">' . __( 'Yes', 'woocommerce' ) . '</span>';
            } elseif ( isset( $content ) ) {
                // translators: %d: notes count
                echo '<span class="note-on tips" data-tip="' . wc_sanitize_tooltip( 'Author: ' . $added_by . '<br/>' . 'Date: ' . $date_created . '<br/>' . $content . '<br/><small style="display:block">' . sprintf( _n( 'Plus %d other note', 'Plus %d other notes', ( $amount_of_comments - 1 ), 'woocommerce' ), $amount_of_comments - 1 ) . '</small>' ) . '">' . __( 'Yes', 'woocommerce' ) . '</span>';
            } else {
                // translators: %d: notes count
                echo '<span class="note-on tips" data-tip="' . wc_sanitize_tooltip( sprintf( _n( '%d note', '%d notes', $amount_of_comments, 'woocommerce' ), $amount_of_comments ) ) . '">' . __( 'Yes', 'woocommerce' ) . '</span>';
            }
        }
    }
}
add_action( 'manage_shop_order_posts_custom_column' , 'custom_shop_order_list_column_content', 10, 2 );

1016620cookie-checkBestellnotizen mit Autor und Datum in der WooCommerce-Admin-Bestellliste anzeigen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy