我的帐户中的新端点出现404错误:WooCommerce 3.6.5和WP 5.2.2

时间:2019-07-18 作者:Pranav Patel
function bbloomer_add_premium_support_endpoint() {
    add_rewrite_endpoint( \'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[] = \'support\';
    return $vars;
}

add_filter( \'query_vars\', \'bbloomer_premium_support_query_vars\', 0 );

// 3. Insert the new endpoint into the My Account menu

function bbloomer_add_premium_support_link_my_account( $items ) {
    $items[\'support\'] = \'Premium Support\';
    return $items;
}
add_filter( \'woocommerce_account_menu_items\', \'bbloomer_add_premium_support_link_my_account\' );
1 个回复
SO网友:Jacob Peattie

每当添加代码时,请确保刷新/重新保存“Permalinks”>“settings”中的设置,以添加重写端点或规则。

此外,在WooCommerce中添加帐户端点的最新最佳方法是使用woocommerce_get_query_vars 过滤器:

/**
 * Register support endpoint.
 *
 * @param array $query_vars WooCommerce query vars.
 */
function wpse_343129_query_vars( $query_vars ) {
    $query_vars[\'support\']   = \'support\';

    return $query_vars;
}
add_filter( \'woocommerce_get_query_vars\', \'wpse_343129_query_vars\' );
它使您无需使用两个单独的函数,并确保您可以使用如下过滤器woocommerce_endpoint_support_title 要正确更新帐户页面标题,请执行以下操作:

/**
 * Support account page endpoint title.
 *
 * @param string $title Endpoint title.
 * @param string $endpoint Current endpoint.
 */
function wpse_343129_support_endpoint_title( $title, $endpoint ) {
    return \'Support\';
}
add_filter( \'woocommerce_endpoint_support_title\', \'wpse_343129_support_endpoint_title\', 10, 2 );

相关推荐