Я хочу добавить дополнительную конечную точку к пользовательской конечной точке, определенной для моего шаблона myaccount woocommerce.
Например:
пользовательская конечная точка - my-account / alumni
subendpoint - мой аккаунт / выпускники / индекс
Я добавил функциональность для добавления пользовательской конечной точки, но когда я пытаюсь добавить дополнительную конечную точку, она перенаправляет меня на мою учетную запись / и не загружает шаблон
Я уже пытался обновить постоянные ссылки.
и изменение положения определений конечной точки и подконечной точки.
Я написал этот код в functions.php
add_action( 'init', 'add_alumni_index_account_endpoint' );
function add_alumni_index_account_endpoint() {
add_rewrite_endpoint( 'alumni-portal/alumni-index', EP_PAGES );
}
add_action( 'woocommerce_account_alumni-index_endpoint', 'alumni_index_account_endpoint_content' );
function alumni_index_account_endpoint_content() {
//if ( current_user_can('administrator') ) {
wc_get_template( 'myaccount/alumni-index.php' );
//}
}
add_action( 'init', 'add_alumni_portal_account_endpoint' );
function add_alumni_portal_account_endpoint() {
add_rewrite_endpoint( 'alumni-portal', EP_PAGES );
}
add_filter ( 'woocommerce_account_menu_items', 'custom_account_menu_items', 10 );
function custom_account_menu_items( $menu_links ){
//if ( current_user_can('administrator') ) {
$menu_links = array_slice( $menu_links, 0,3 , true )
+ array( 'alumni-portal' => __('Alumni Portal') )
+ array_slice( $menu_links, 3, NULL, true );
//}
return $menu_links;
}
add_action( 'woocommerce_account_alumni-portal_endpoint', 'alumni_portal_account_endpoint_content' );
function alumni_portal_account_endpoint_content() {
//if ( current_user_can('administrator') ) {
wc_get_template( 'myaccount/alumni-portal.php' );
//}
}
add_filter("woocommerce_get_query_vars", function ($vars) {
foreach (["alumni-portal/alumni-index","alumni-portal"] as $e) {
$vars[$e] = $e;
}
return $vars;
});
В результате моя подчиненная точка должна загружать соответствующий шаблон, а не перенаправлять на мою учетную запись.
alumni-index.php имеет простой код приветствия
<?php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<p>hello</p>