在woocommerce中添加子子页面终结点

时间:2019-06-12 10:58:11

标签: wordpress woocommerce

我想将一个子端点添加到为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>

0 个答案:

没有答案