Заголовки текущей конечной точки Woocommerce в шаблоне моего аккаунта - PullRequest
0 голосов
/ 23 октября 2018

Я работаю с шаблоном пользовательской панели woo-commerce.

Мне нужно напечатать название текущей конечной точки вместо the_title();.

после снимка изображения

DOMIAN.com / мой-счет / заказы /.должен быть заголовок страницы как «Мой заказ» , но это «Моя учетная запись».

То же требование и для других заголовков конечных точек.

Пожалуйста, помогите мне.

enter image description here

1 Ответ

0 голосов
/ 23 октября 2018

Исходный порядок пунктов меню «Моя учетная запись» можно увидеть в /wp-content/plugins/woocommerce/includes/wc-account-functions.php

/**
 * Get My Account menu items.
 *
 * @since 2.6.0
 * @return array
 */
function wc_get_account_menu_items() {
 return apply_filters( 'woocommerce_account_menu_items', array(
 'dashboard' => __( 'Dashboard', 'woocommerce' ),
 'orders' => __( 'Orders', 'woocommerce' ),
 'downloads' => __( 'Downloads', 'woocommerce' ),
 'edit-address' => __( 'Addresses', 'woocommerce' ),
 'payment-methods' => __( 'Payment Methods', 'woocommerce' ),
 'edit-account' => __( 'Account Details', 'woocommerce' ),
 'customer-logout' => __( 'Logout', 'woocommerce' ),
 ) );
}

Вы можете изменить порядок этихВ конечных точках с помощью фильтра woocommerce_account_menu_items вы также можете изменить заголовок элемента списка с помощью того же фильтра.

<?php
function wpb_woo_my_account_order() {
    $myorder = array(
        'my-custom-endpoint' => __( 'My Stuff', 'woocommerce' ),
        'edit-account'       => __( 'Change My Details', 'woocommerce' ),
        'dashboard'          => __( 'Dashboard', 'woocommerce' ),
        'orders'             => __( 'Orders', 'woocommerce' ),
        'downloads'          => __( 'Download MP4s', 'woocommerce' ),
        'edit-address'       => __( 'Addresses', 'woocommerce' ),
        'payment-methods'    => __( 'Payment Methods', 'woocommerce' ),
        'customer-logout'    => __( 'Logout', 'woocommerce' ),
    );
    return $myorder;
}
add_filter ( 'woocommerce_account_menu_items', 'wpb_woo_my_account_order' );

Одним из ограничений при изменении заголовка элемента списка является то, что он выиграл 't изменить заголовок записи.

Одним из способов изменить заголовок записи пользовательской конечной точки WooCommerce является использование фильтра_титров с условием in_the_loop.

<?php
/*
 * Change the entry title of the endpoints that appear in My Account Page - WooCommerce 2.6
 * Using the_title filter
 */
function wpb_woo_endpoint_title( $title, $id ) {
    if ( is_wc_endpoint_url( 'downloads' ) && in_the_loop() ) { // add your endpoint urls
        $title = "Download MP3s"; // change your entry-title
    }
    elseif ( is_wc_endpoint_url( 'orders' ) && in_the_loop() ) {
        $title = "My Orders";
    }
    elseif ( is_wc_endpoint_url( 'edit-account' ) && in_the_loop() ) {
        $title = "Change My Details";
    }
    return $title;
}
add_filter( 'the_title', 'wpb_woo_endpoint_title', 10, 2 );
...