Acest articol explică cum să personalizezi lista de comenzi în backend-ul WooCommerce pentru a evidenția comenzile plasate de persoane juridice și cum să adaugi câmpuri personalizate în emailurile de comandă.
Ce face acest cod?
- Schimbă culoarea de fundal pentru comenzile plasate de persoane juridice în lista de comenzi din backend
- Dacă o comandă conține informații despre o companie (numele companiei sau codul fiscal), aceasta este evidențiată cu o culoare galben deschis.
- Adaugă câmpuri personalizate în emailurile de comandă
- Include detalii despre companie și codul fiscal (dacă există) în emailurile trimise către client sau administrator.
Codul complet
Adaugă acest cod în fișierul functions.php
al temei active sau într-un plugin personalizat:
// Adaugă stiluri personalizate pentru comenzile plasate de persoane juridice în lista de comenzi
add_action('admin_head', 'custom_order_list_styles');
function custom_order_list_styles() {
echo '<style>
.status-company-completed {
background-color: #fcff8e !important; /* galben deschis */
}
</style>';
}
// Adaugă o clasă personalizată comenzilor care au câmpurile companie completate
add_filter('post_class', 'add_custom_order_class', 10, 3);
function add_custom_order_class($classes, $class, $post_id) {
if ('shop_order' === get_post_type($post_id)) {
// Verifică dacă câmpul billing_company sau billing_wooccm11sa este completat
$billing_company = get_post_meta($post_id, '_billing_company', true);
$billing_wooccm11sa = get_post_meta($post_id, '_billing_wooccm11sa', true);
if (!empty($billing_company) || !empty($billing_wooccm11sa)) {
$classes[] = 'status-company-completed';
}
}
return $classes;
}
// Adaugă câmpuri personalizate în emailurile de comandă
add_action('woocommerce_email_order_meta', 'add_custom_fields_to_order_email', 20, 4);
function add_custom_fields_to_order_email($order, $sent_to_admin, $plain_text, $email) {
$order_id = $order->get_id();
$billing_company = get_post_meta($order_id, '_billing_company', true);
$billing_wooccm11sa = get_post_meta($order_id, '_billing_wooccm11sa', true);
if (!empty($billing_company) || !empty($billing_wooccm11sa)) {
echo '<h3>Informații Comandă pe Persoană Juridică</h3>';
if (!empty($billing_company)) {
echo '<p><strong>Companie:</strong> ' . esc_html($billing_company) . '</p>';
}
if (!empty($billing_wooccm11sa)) {
echo '<p><strong>Cod Fiscal:</strong> ' . esc_html($billing_wooccm11sa) . '</p>';
}
}
}
Explicația codului
1. Personalizarea listei de comenzi
add_action('admin_head', 'custom_order_list_styles')
- Adaugă un bloc CSS în secțiunea
<head>
a paginii de administrare. - Evidențiază comenzile care conțin informații despre companie cu o culoare galben deschis.
- Adaugă un bloc CSS în secțiunea
add_filter('post_class', 'add_custom_order_class', 10, 3)
- Verifică dacă o comandă are completate câmpurile
_billing_company
sau_billing_wooccm11sa
. - Dacă cel puțin unul dintre aceste câmpuri este completat, comanda primește clasa
status-company-completed
, care aplică stilul definit anterior.
- Verifică dacă o comandă are completate câmpurile
2. Adăugarea câmpurilor personalizate în email
add_action('woocommerce_email_order_meta', 'add_custom_fields_to_order_email', 20, 4)
- Verifică existența câmpurilor
_billing_company
și_billing_wooccm11sa
. - Dacă există date, acestea sunt afișate în secțiunea de metadate a emailului.
- Verifică existența câmpurilor
Avantaje
- Vizibilitate crescută: Comenzile plasate de persoane juridice sunt evidențiate, ceea ce facilitează identificarea rapidă a acestora în backend.
- Comunicare eficientă: Informațiile importante despre companie sunt incluse automat în emailurile de comandă, eliminând necesitatea verificărilor manuale.
- Personalizare simplă: Codul este ușor de modificat pentru a include alte câmpuri sau pentru a schimba stilurile.
Rezultat
- În lista de comenzi din backend-ul WooCommerce, comenzile plasate de persoane juridice vor fi evidențiate cu un fundal galben deschis.
- Emailurile de comandă vor include detalii despre companie și codul fiscal, dacă acestea sunt completate.
Concluzie
Acest cod oferă o soluție simplă și eficientă pentru gestionarea comenzilor plasate de persoane juridice în WooCommerce, îmbunătățind organizarea și comunicarea cu clienții.