Woocommerce изменить порядок получения заголовка страницы - PullRequest
0 голосов
/ 24 августа 2018

Я пытаюсь изменить / добавить заголовок страницы Woocommerce "Получен заказ".

Приведенный ниже фрагмент кода работает - я могу изменить существующий TEXT с помощьюследующий код:

    add_filter('woocommerce_thankyou_order_received_text', 'woo_change_order_received_text', 10, 2 );
function woo_change_order_received_text( $str, $order ) {
    $new_str = $str . ' We have emailed the purchase receipt to you.';
    return $new_str;
}

приведенный ниже фрагмент не работает.- Я не могу изменить / добавить TITLE , а также передать имя пользователя, чтобы персонализировать его.Вот код, а также изображение вывода, который я пытаюсь получить .... "Ты потрясающий ФИО" добавлен в.

    <?php
add_filter( 'the_title', 'woo_personalize_order_received_title', 10, 2 );
function woo_personalize_order_received_title( $title, $id ) {
    if ( is_order_received_page() && get_the_ID() === $id ) {
        global $wp;
        // Get the order. Line 9 to 17 are present in order_received() in includes/shortcodes/class-wc-shortcode-checkout.php file
        $order_id  = apply_filters( 'woocommerce_thankyou_order_id', absint( $wp->query_vars['order-received'] ) );
        $order_key = apply_filters( 'woocommerce_thankyou_order_key', empty( $_GET['key'] ) ? '' : wc_clean( $_GET['key'] ) );
        if ( $order_id > 0 ) {
            $order = wc_get_order( $order_id );
            if ( $order->get_order_key() != $order_key ) {
                $order = false;
            }
        }
        if ( isset ( $order ) ) {
            //$title = sprintf( "You are awesome, %s!", esc_html( $order->billing_first_name ) ); // use this for WooCommerce versions older then v2.7
        $title = sprintf( "You are awesome, %s!", esc_html( $order->get_billing_first_name() ) );
        }
    }
    return $title;
}

enter image description here

Это должно быть возможно, поскольку есть примеры того, как это сделать, например, здесь ... Я просто не могу понять, почему основной заголовок даже не появляется

1 Ответ

0 голосов
/ 28 августа 2018

В качестве обходного пути я проверил CSS и изменил текст под заголовком на больший размер и требуемое семейство шрифтов.

Затем через PHP ниже я создал пользовательский текст с именем клиента в заголовке.

    add_filter('woocommerce_thankyou_order_received_text', 'woo_change_order_received_text', 10, 2 );
function woo_change_order_received_text( $str, $order ) {
    $new_str = sprintf( "You are awesome, %s :) - We've recieved your order.", esc_html( $order->get_billing_first_name() ) );
    return $new_str;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...