我想将一个子端点添加到为woocommerce myaccount模板定义的自定义端点。 例如:
自定义端点-我的帐户/相册
子端点-我的帐户/日记/索引
我已经添加了添加自定义端点的功能,但是当我尝试添加子端点时,它会将我重定向到my-account /而不是加载模板
我已经尝试刷新永久链接。 以及更改端点和子端点定义的位置。 我已经在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有一个简单的代码hello
<?php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<p>hello</p>