Обновлено
Вам необходимо получить значение cookie в качестве метаданных пользовательского заказа на странице "Заказ получен":
add_action( 'woocommerce_thankyou', 'thankyou_grab_cookie_as_meta_data', 10, 1 );
function thankyou_grab_cookie_as_meta_data( $order_id ){
if( ! $order_id ){
return;
}
if( isset($_COOKIE["ticketidno"]) && ! get_post_meta( $order_id, '_cookie_ticketidno', true ) ) {
update_post_meta( $order_id, '_cookie_ticketidno', esc_attr($_COOKIE["ticketidno"]) );
}
}
Код поступает в файл function.php вашей активной дочерней темы (или активной темы). Должно работать.
Вы сможете получить это значение cookie, используя:
- Из идентификатора заказа:
$cookie = get_post_meta( $order_id, '_cookie_ticketidno', true );
- Из объекта заказа:
$order->get_meta( '_cookie_ticketidno' ); // (on Woocommerce 3+)
Отображение в уведомлениях по электронной почте:
// Email notifications display
add_action( 'woocommerce_email_order_details', 'add_order_instruction_email', 5, 4 );
function add_order_instruction_email( $order, $sent_to_admin, $plain_text, $email ) {
if( $value = $order->get_meta('_cookie_ticketidno') )
echo '<p class="ticket-id">' .__('Ticket Id Number: ') . $value . '</p>';
}
Код поступает в файл function.php вашей активной дочерней темы (или активной темы).
Отображение на странице «Заказ получен» (спасибо):
// On "Order received" page (on start)
add_filter( 'woocommerce_thankyou_order_received_text', 'thankyou_custom_order_received_text', 10, 2 );
function thankyou_custom_order_received_text( $text, $order ) {
if ( $value = $order->get_meta('_cookie_ticketidno') ) {
$text .= '<br><div class="ticket-id"><p>' . __('Ticket Id Number: ') . $value . '</p></div>' ;
}
return $text;
}
Код поступает в файл function.php вашей активной дочерней темы (или активной темы).
Для SMS - поскольку для этого требуется идентификатор заказа, попробуйте следующее без каких-либо гарантий:
case "solutions_infini":
$respuesta = wp_remote_get( "http://api-global.solutionsinfini.com/v3/?api_key=" . $apg_sms_settings['clave_solutions_infini'] . "&method=sms" . "&to=" . $telefono . "&sender=" . $apg_sms_settings['identificador_solutions_infini'] . "&message=" . "Thanks for Registering in ". $_SESSION['post_title'] . " your Registration ID no is THR". get_post_meta( $_SESSION['ID'], '_cookie_ticketidno', true ) . apg_sms_codifica_el_mensaje( $mensaje ));
break;
Код должен идти по файлу Proveedores.php в вашем плагине, просто заменив в коде:
$_COOKIE["ticketidno"]
по:
get_post_meta( $_SESSION['ID'], '_cookie_ticketidno', true )
где $_SESSION['ID']
(я полагаю и надеюсь) должно быть идентификатор заказа .