此功能将名为"特殊页面"的选项卡添加到"我的帐户"选项卡列表中:
add_filter( 'woocommerce_account_menu_items' , 'jc_menu_panel_nav' );
function jc_menu_panel_nav() {
$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' ),
'special-page' => __( 'Special Page', 'woocommerce' ), // My custom tab here
'customer-logout' => __( 'Logout', 'woocommerce' ),
);
return $items;
}
Run Code Online (Sandbox Code Playgroud)
结果如下:
但链接指向my-account/special-page/,并自然给出404错误.
我如何将此URL分配给名为special-page.php?的文件?
我正在尝试在 Woocommerce 的“我的帐户”部分中创建自定义页面,但是当我打开此页面时,我收到 404(找不到页面)。我尝试重新保存(刷新)“设置”->“永久链接”中的永久链接,但没有任何变化(再次出现 404 - 找不到页面)。我正在使用此永久链接类型“https://mywebsite.com/sample-post/”。当我将永久链接类型更改为“https://mywebsite.com/?p=123”时,它正在工作并且页面显示。有人可以告诉我问题出在哪里以及为什么它可以使用“普通”永久链接,但不能使用“帖子名称”永久链接?这是我的代码片段:
// 1. Register new endpoint to use for My Account page
// Note: Resave Permalinks or it will give 404 error
function bbloomer_add_premium_support_endpoint() {
add_rewrite_endpoint( 'premium-support', EP_ROOT | EP_PAGES );
}
add_action( 'init', 'bbloomer_add_premium_support_endpoint' );
// ------------------
// 2. Add new query var
function bbloomer_premium_support_query_vars( $vars ) {
$vars[] = 'premium-support';
return $vars;
}
add_filter( 'query_vars', 'bbloomer_premium_support_query_vars', 0 );
// ------------------
// 3. Insert the new endpoint into the My Account menu
function …Run Code Online (Sandbox Code Playgroud)