Agregue una breve descripción del producto a la vista previa de pedidos de administrador de Woocommerce

3 minutos de lectura

avatar de usuario
Jaime

Estoy tratando de agregar la breve descripción de mi producto en mi página de pedido como una nueva pestaña para que tengamos una forma más fácil de pedir productos sin tener que ingresar a ellos.

Veo que actualmente se muestra SKU debajo del producto; lo ideal sería que tuviera una descripción breve del producto.

Esto es lo que he logrado obtener hasta ahora, sin embargo, no hay salida de la breve descripción.

// Adds tab 
add_action( 'woocommerce_admin_order_item_headers', 'pd_admin_order_items_headers' );
function pd_admin_order_items_headers($order){
  ?>
  <th class="line_customtitle sortable" data-sort="your-sort-option">
    Product MPN
  </th>
  <?php
}

// Shows Short Desc
add_action( 'woocommerce_admin_order_item_values', 'pd_admin_order_item_values' );
function pd_admin_order_item_values( $product ) {
  ?>
  <td class="line_customtitle">
    <?php the_excerpt(); ?>
  </td>
  <?php
}

Los resultados actualmente dicen

“No hay extracto porque esta es una publicación protegida”.

Siento que no está recorriendo el producto y tratando de obtener el extracto de los pedidos, por lo que dice que está protegido, pero no tengo mucha experiencia con esto.

Cualquier ayuda es apreciada.

Pruebe lo siguiente en su lugar (El código está comentado):

// Add a custom column to the order "line items" html table
add_action( 'woocommerce_admin_order_item_headers', 'custom_admin_order_items_headers', 20, 1 );
function custom_admin_order_items_headers( $order ){

    echo '<th class="line_custom-title sortable" data-sort="your-sort-option">';
    echo __('Short description', 'woocommerce') . '</th>';
}

// Custom column content in the order "line items" html table
add_action( 'woocommerce_admin_order_item_values', 'custom_admin_order_item_values', 20, 3 );
function custom_admin_order_item_values( $_product, $item, $item_id ) {
    // Only for "line_item" items type
    if( ! $item->is_type('line_item') ) return;

    // For product variation, we get the parent variable product (in case of)
    if( $_product->is_type('variation') ){
        $parent_product = $_product->get_parent();
        // The product variation description (as short description doesn't exist)
        $excerpt        = $_product->get_description(); 
        // If product variation description doesn't exist we display the short description of the parent variable product
        $excerpt        = empty($excerpt) ? $parent_product->get_short_description() : $excerpt;
    }
    // For other product types
    else {
        $excerpt        = $_product->get_short_description();
    }

    // Output
    echo '<td class="line_custom-description">' . $excerpt . '</td>';
}

El código va en el archivo function.php de su tema secundario activo (o tema activo). Probado y funciona

  • @Sharvan Elimine esos comentarios y haga una nueva pregunta clara y detallada en su lugar… Para que todas las personas capacitadas en Stack puedan ayudarlo.

    – LoicTheAztec

    29 de mayo de 2018 a las 4:48


La respuesta de @LoicTheAztec no me funciona, modifiqué su respuesta y reemplacé la custom_admin_order_item_values funciona con abajo, entonces funciona.

// Custom column content in the order "line items" html table
function custom_admin_order_item_values( $item_name, $item, $is_visible ){
    $product_id = $item->get_product_id(); // Get the product Id
    $excerpt = get_the_excerpt( $product_id ); // Get the short description
    // Output
    echo '<td class="line_custom-description">' . $excerpt . '</td>';
}

  • ¿Este fragmento no parece estar funcionando? ¿Podría confirmar la versión de Woocommerce que está utilizando?

    – Jaime

    1 mayo 2018 a las 14:41

  • WordPress 4.9.5

    – jcy

    2 de mayo de 2018 a las 8:08

  • ¿Y la versión de Woocommerce?

    – Jaime

    2 mayo 2018 a las 13:20

  • ¿Puedes pegar tu fragmento completo de este trabajo? Me he dado cuenta ahora que la actualización de mi respuesta Woocommerce LoicTheAztec ahora no funciona, sin embargo, tampoco puedo hacer que tu respuesta funcione.

    – Jaime

    10 mayo 2018 a las 10:51

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad