• Resolved dashastone

    (@dashastone)


    Hi – I’m using code below to show/list order notes in a separate column in the orders overview. Can someone help me with editing this code to only show notes from registered admins and not from “system”?

    Thanks!

    // WooCommerce – Add order notes column to orders list
    // Code goes in functions.php for your child theme
    // not tested in a PHP snippet plugin

    // Add column “Order Notes” on the orders page
    add_filter( ‘manage_edit-shop_order_columns’, ‘add_order_notes_column’ );
    function add_order_notes_column( $columns ) {
    $new_columns = ( is_array( $columns ) ) ? $columns : array();
    $new_columns[‘order_notes’] = ‘Hinweis’;
    return $new_columns;
    }

    add_action( ‘admin_print_styles’, ‘add_order_notes_column_style’ );
    function add_order_notes_column_style() {
    $css = ‘.post-type-shop_order table.widefat.fixed { table-layout: auto; width: 100%; }’;
    $css .= ‘table.wp-list-table .column-order_notes { min-width: 280px; text-align: left; }’;
    $css .= ‘.column-order_notes ul { margin: 0 0 0 18px; list-style-type: disc; }’;
    $css .= ‘.order_customer_note { color: #ee0000; }’; // red
    $css .= ‘.order_private_note { color: #0000ee; }’; // blue
    wp_add_inline_style( ‘woocommerce_admin_styles’, $css );
    }

    // Add order notes to the “Order Notes” column
    add_action( ‘manage_shop_order_posts_custom_column’, ‘add_order_notes_content’ );
    function add_order_notes_content( $column ) {
    if( $column != ‘order_notes’ ) return;
    global $post, $the_order;
    if( empty( $the_order ) || $the_order->get_id() != $post->ID ) {
    $the_order = wc_get_order( $post->ID );
    }
    $args = array();
    $args[‘order_id’] = $the_order->get_id();
    $args[‘order_by’] = ‘date_created’;
    $args[‘order’] = ‘ASC’;
    $notes = wc_get_order_notes( $args );
    if( $notes ) {
    print ‘

      ‘;
      foreach( $notes as $note ) {
      if( $note->customer_note ) {
      print ‘<li class=”order_customer_note”>’;
      } else {
      print ‘<li class=”order_private_note”>’;
      }
      $date = date( ‘d/m/y H:i’, strtotime( $note->date_created ) );
      print $date.’ by ‘.$note->added_by.'<br>’.$note->content.’‘;
      }
      print ‘

    ‘;
    }
    } // end function

Viewing 1 replies (of 1 total)
Viewing 1 replies (of 1 total)
  • The topic ‘Order notes column without “system” notes’ is closed to new replies.