Как добавить новый пользовательский заголовок в боковую панель Woocommerce My Account?

Привет, я хочу добавить новый пользовательский заголовок и ссылки на страницу «Моя учетная запись» на моем сайте WooCommerce. Обыскал всю документацию и темы Stackoverflow, но не нашел решения для моего запроса.

Это название того, о чем я прошу

введите описание изображения здесь

Текстовое сообщение Muj Ucet is My Account на английском языке. :)

Я хочу добавить новый заголовок, как показано на изображении ниже:

введите описание изображения здесь

Это код шаблона WooCommerce для этой части:

<?php


if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
?>

<p><?php
/* translators: 1: user display name 2: logout url */
printf(
    __( 'Hello %1$s (not %1$s? <a href="%2$s">Log out</a>)', 'woocommerce' 
 ),
    '<strong>' . esc_html( $current_user->display_name ) . '</strong>',
    esc_url( wc_logout_url( wc_get_page_permalink( 'myaccount' ) ) )
);
?></p>

<p>Na nástěnce svého uživatelského účtu si můžete stáhnout své zakoupené 
produkty a faktury, upravit své osobní informace, změnit heslo nebo 
fakturační adresu.</p>

<?php
/**
 * My Account dashboard.
 *
 * @since 2.6.0
 */
do_action( 'woocommerce_account_dashboard' );

/**
 * Deprecated woocommerce_before_my_account action.
 *
 * @deprecated 2.6.0
 */
do_action( 'woocommerce_before_my_account' );


/**
 * Deprecated woocommerce_after_my_account action.
 *
 * @deprecated 2.6.0
 */
do_action( 'woocommerce_after_my_account' );

/* Omit closing PHP tag at the end of PHP files to avoid "headers already 
sent" issues. */

Я хочу добавить новый заголовок под этой боковой панелью. Как зарегистрировать новое название?

Спасибо


person DrMTR    schedule 20.10.2017    source источник


Ответы (1)


Вот решение.

add_filter('woocommerce_account_menu_items', 'display_account_new_link');
function display_account_new_link( $items ) {
    $items['new_link'] = __( 'New Link', 'text-domain' );
    return $items;
}
add_action( 'woocommerce_account_new_link_endpoint', 'new_account_link_content' );
function new_account_link_content() {
    //include your display template here
    echo "Here goes you content";
}

После вставки этого кода в ваш плагин или файл темы function.php этот код создаст новую ссылку на боковой панели навигации моей учетной записи вместе с шаблоном, который вы хотите назначить этой ссылке. Здесь новая_ссылка - это ярлык для этой навигационной ссылки. Если вы хотите задать другой слаг, вы должны переименовать new_link, написанное везде в данном коде. Как только вы нажмете на эту новую ссылку, она перенаправит вас на страницу «Страница не найдена». Это можно решить, добавив этот код.

add_action( 'init', 'register_new_link_endpoint');
function register_new_link_endpoint() {
    add_rewrite_endpoint( 'new_link', EP_PAGES );
}

После вставки этого кода вы должны один раз сохранить постоянную ссылку, перейдя в Панель управления WordPress-> Настройки-> Постоянные ссылки и нажав кнопку «Сохранить изменения».

person Logan Young    schedule 20.10.2017
comment
Ваш код только добавляет новую конечную точку на текущую вкладку. i.imgur.com/l7RlAvO.png?1 я хочу добавить новый заголовок как MŮJ ÚČET находится под всеми ссылками из этой категории. Пойми меня? - person DrMTR; 20.10.2017
comment
woocommerce_after_account_navigation - желаемый крючок для вас, но он разрушает всю структуру. Вы можете попробовать этот крючок. - person Logan Young; 20.10.2017
comment
Так как добавить новый заголовок, или это невозможно? - person DrMTR; 20.10.2017
comment
Сначала попробуйте этот код add_action ('woocommerce_after_account_navigation', 'function_name'); function function_name () {echo '‹h2› Title ‹/h2›';}, чтобы вы могли знать, как структура испорчена. Другой вариант - обернуть этот заголовок тегом span и управлять структурой с помощью css - person Logan Young; 20.10.2017
comment
Позвольте нам продолжить это обсуждение в чате. - person DrMTR; 20.10.2017