LLMS_Admin_Post_Table_Orders::manage_columns( string $column, int $post_id )
Order post: Queries data based on column name.
Parameters Parameters
- $column
-
(string) (Required) Custom column name.
- $post_id
-
(int) (Required) ID of the individual post.
Return Return
(void)
Source Source
File: includes/admin/post-types/post-tables/class.llms.admin.post.table.orders.php
public function manage_columns( $column, $post_id ) {
global $post;
$order = new LLMS_Order( $post_id );
switch ( $column ) {
case 'order':
echo '<a href="' . esc_url( admin_url( 'post.php?post=' . $post_id . '&action=edit' ) ) . '">';
printf( esc_html_x( '#%d', 'order number display', 'lifterlms' ), esc_html( $post_id ) );
echo '</a> ';
esc_html_e( 'by', 'lifterlms' );
echo ' ';
if ( llms_parse_bool( $order->get( 'anonymized' ) ) || empty( llms_get_student( $order->get( 'user_id' ) ) ) ) {
echo esc_html( $order->get_customer_name() );
} else {
$edit_user_link = $order->get( 'user_id' ) ? get_edit_user_link( $order->get( 'user_id' ) ) : '';
echo ! $edit_user_link ? esc_html( $order->get_customer_name() ) . '<br>' : '<a href="' . esc_url( $edit_user_link ) . '">' . esc_html( $order->get_customer_name() ) . '</a><br>';
echo '<a href="' . esc_url( 'mailto:' . $order->get( 'billing_email' ) ) . '">' . esc_html( $order->get( 'billing_email' ) ) . '</a>';
}
break;
case 'payment_status':
$status = $order->get( 'status' );
echo '<span class="llms-status llms-size--large ' . esc_attr( $status ) . ' ">' . esc_html( llms_get_order_status_name( $status ) ) . '</span>';
break;
case 'access_status':
$date = $order->get_access_expiration_date( 'F j, Y' );
$ts = strtotime( $date );
// Timestamp will be false if date is not a date.
if ( $ts ) {
if ( $ts < current_time( 'timestamp' ) ) {
echo esc_html_x( 'Expired:', 'access plan expiration', 'lifterlms' );
} else {
echo esc_html_x( 'Expires:', 'access plan expiration', 'lifterlms' );
}
echo ' ' . esc_html( $date );
} else {
echo esc_html( $date );
}
break;
case 'product':
if ( llms_get_post( $order->get( 'product_id' ) ) ) {
echo '<a href="' . esc_url( get_edit_post_link( $order->get( 'product_id' ) ) ) . '">' . esc_html( $order->get( 'product_title' ) ) . '</a>';
} else {
echo esc_html__( '[DELETED]', 'lifterlms' ) . ' ' . esc_html( $order->get( 'product_title' ) );
}
echo ' (' . esc_html( ucfirst( $order->get( 'product_type' ) ) ) . ')';
break;
case 'revenue':
$grosse = $order->get_revenue( 'grosse' );
$net = $order->get_revenue( 'net' );
if ( $grosse !== $net ) {
echo '<del>' . wp_kses( llms_price( $grosse ), LLMS_ALLOWED_HTML_PRICES ) . '</del> ';
}
echo wp_kses( llms_price( $net ), LLMS_ALLOWED_HTML_PRICES );
break;
case 'type':
if ( $order->is_recurring() ) {
esc_html_e( 'Recurring', 'lifterlms' );
} else {
esc_html_e( 'One-time', 'lifterlms' );
}
break;
case 'order_date':
echo esc_html( $order->get_date( 'date' ) );
break;
}// End switch().
}
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
| Version | Description |
|---|---|
| 7.0.0 | Treat the case when the order has no WordPress user associated yet. |
| 5.4.0 | Inform about deleted products. |
| 3.19.0 | Unknown. |
| 3.0.0 | Introduced. |