2017-09-01 4 views
0

erstelle ich einen Short-Code, um alle Namen des Eintrags wie folgt zur Liste,Wagen Artikel Titel nicht in eine HTML-Tabelle verketteten in WooCommerce

add_shortcode('show_cart_items', 'tcf_show_cart_items'); 
function tcf_show_cart_items() 
{ 
    $cart = '<table>'; 
       foreach( WC()->cart->get_cart() as $cart_item) 
       { 
        $cart .= '<tr>' . $cart_item['data']->get_title() . '</tr>'; 
       } 
    $cart .= '</table>'; 

    return $cart; 
} 

dieses feinen funktionieren, aber was ich bin vor der Artikel drucken aus der Tabelle. Sie können die Ausgabe als Screenshot sehen, wenn ich auf der Webseite nachschaue und der Artikelname, der nicht auf der Seite gedruckt wurde, wird in der HTML-Tabelle gelb hervorgehoben.

enter image description here

Meine Fragen sind,

  1. Was ist der Grund dafür?
  2. Wie behebt man das?

TIA.

+0

Das hört sich so an, als ob die 'get_title' Methode tatsächlich den Titel (echo, print) ausgibt, anstatt ihn zurückzugeben ... aber nach den Dokumenten sollte es Letzteres tun (zumindest in WC 3, welche Version bist du) Verwendung?) – CBroe

+0

Ich benutze die WC 3, die neueste. – mapmalith

Antwort

1

try unten Code, Code skip verketten sein kann

add_shortcode('show_cart_items', 'tcf_show_cart_items'); 
function tcf_show_cart_items() 
{ 
    $cart_item = ''; 

    foreach( WC()->cart->get_cart() as $cart_item) 
    { 
     $cart_item .= '<tr>' . $cart_item['data']->get_title() . '</tr>'; 
    } 

    $cart = '<table>'.$cart_item.'</table>'; 

    return $cart; 
} 
+0

Es gibt die gleiche Ausgabe ohne Glück – mapmalith

1

Sie haben nur vergessen, <td> HTML-Tag um den Titel auf diese Weise hinzuzufügen:

add_shortcode('show_cart_items', 'tcf_show_cart_items'); 
function tcf_show_cart_items() 
{ 
    $cart = '<table>'; 
       foreach( WC()->cart->get_cart() as $cart_item) 
        $cart .= '<tr><td>' . $cart_item['data']->get_title() . '</td></tr>'; 
    $cart .= '</table>'; 

    return $cart; 
} 

Oder auch so:

add_shortcode('show_cart_items', 'tcf_show_cart_items'); 
function tcf_show_cart_items() 
{ 
    $cart = '<table><tr>'; 
       foreach( WC()->cart->get_cart() as $cart_item) 
        $cart .= '<td>' . $cart_item['data']->get_title() . '</td>'; 
    $cart .= '</tr></table>'; 

    return $cart; 
} 

Code goe s in der Datei function.php Ihres aktiven untergeordneten Themas (oder Themas) oder auch in einer beliebigen Plugin-Datei.

Getestet und funktioniert jetzt.

Verwandte Themen