Eigene Spalte zu den Tabellen hinzufügen
Verwenden Sie dafür den Hook woot_profile_extend.
Fügen Sie dazu in die Datei functions.php folgenden Code ein:
add_action('woot_profile_extend', function($profile, $action_name) {
if ($action_name === 'woot_woocommerce_tables') {
$profile['my_new_column'] = [
'title' => WOOT_Vocabulary::get('My new column'),
'order' => FALSE,
'action' => function($post_id) {
return 'Hello World!';
}
];
}
return $profile;
}, 10, 2);
Mit $post_id können Sie beliebige Daten erzeugen und direkt in die Zelle ausgeben.
Sehen wir uns ein komplexeres hier gezeigtes Beispiel an. Achten Sie auf die Schaltfläche „Frage stellen (Ask Me)“ und klicken Sie darauf. Wie Sie sehen, ist das ein Kontaktformular, über das der Kunde dem Shop-Manager eine Nachricht zum Produkt schreiben kann. So erstellen Sie es:
- Legen Sie eine neue Seite an und wählen Sie als Template „Leere WOOT-Seite (WOOT Blank Page)“
- Installieren Sie ein beliebiges Kontaktformular-Plugin, zum Beispiel wpform
- Fügen Sie in den Inhalt der neuen Seite den Shortcode des Kontaktformulars ein, zum Beispiel [wpforms id="641"]
- Fügen Sie in die Datei functions.php des aktuellen WordPress-Themes folgenden Code ein:
add_action('woot_profile_extend', function($profile, $action_name) { if ($action_name === 'woot_woocommerce_tables') { $profile['ask_me'] = [ 'title' => 'Ask Me', 'order' => FALSE, 'action' => function($post_id) { return WOOT_HELPER::draw_html_item('a', [ 'href' => 'javascript: new Popup23({iframe:"https://demo.products-tables.com/wpform-contact-ask-me/?product_id=' . $post_id . '", ' . 'allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture", ' . 'title:"Ask manager about the product"});void(0);', 'class' => 'woot-btn' ], 'Ask Me'); } ]; } return $profile; }, 10, 2);
Achten Sie auf den Link „https://demo.products-tables.com/wpform-contact-ask-me“ und ersetzen Sie ihn durch Ihren eigenen. - Um einige Felder des Kontaktformulars vorab auszufüllen, verwenden Sie folgenden Code:
add_filter('wp_footer', function() { if (is_page(642)) { if (isset($_GET['product_id'])) { $product = WOOT_WooCommerce::get_product(intval($_GET['product_id'])); if (is_object($product)) { ?>
642 – ID der Seite, auf der das Kontaktformular eingebunden ist;
wpforms-641-field_4 – ID des Eingabefelds