source

Wordpress에서 WooCommerce "My Account" 메뉴의 URL을 변경하려면 어떻게 해야 합니까?

nicesource 2023. 11. 5. 14:44
반응형

Wordpress에서 WooCommerce "My Account" 메뉴의 URL을 변경하려면 어떻게 해야 합니까?

Wordpress에서 WooCommerce 플러그인을 사용하고 있습니다.

wooCommerce에서 만든 "my-account" 페이지에 나타나는 "다운로드" 링크의 URL을 변경하고 싶습니다.

enter image description here

링크에서 로 변경하고 싶습니다./my-account/downloads/로./customer-area/dashboard/

메뉴 항목의 제목과 엔드포인트를 변경하는 사용자 지정 기능을 추가하려고 했습니다.

function wpb_woo_my_account_order() {
    $myorder = array(
        'edit-account'       => __( 'Change My Details', 'woocommerce' ),
        'dashboard'          => __( 'Dashboard', 'woocommerce' ),
        'orders'             => __( 'Orders', 'woocommerce' ),
        'customer-area/dashboard' => __( 'Download MP4s', 'woocommerce' ),
        'edit-address'       => __( 'Addresses', 'woocommerce' ),
        'payment-methods'    => __( 'Payment Methods', 'woocommerce' ),
        'customer-logout'    => __( 'Logout', 'woocommerce' ),
    );
    return $myorder;
}
add_filter ( 'woocommerce_account_menu_items', 'wpb_woo_my_account_order' );

그러나 사용하는 엔드포인트가 무엇이든 내부에 중첩된 상태로 유지됩니다./my-account/

어떻게 바꿀 수 있죠?

예전에 내가 했던 방식은 우커머스를 통해 엔드포인트 URL을 변경하는 것입니다.woocommerce_get_endpoint_url필터, 예를 들어 다음과 같습니다.

add_filter('woocommerce_get_endpoint_url', 'woocommerce_hacks_endpoint_url_filter', 10, 4);
function woocommerce_hacks_endpoint_url_filter($url, $endpoint, $value, $permalink) {
    $downloads = get_option('woocommerce_myaccount_downloads_endpoint', 'downloads');
    if (empty($downloads) == false) {
        if ($endpoint == $downloads) {
            $url = '//example.com/customer-area/dashboard';
        }
    }
    return $url;
}

분명히, 변경합니다.$url사용자 환경에 적합한 변수.우리가 사용하는 이유는.get_option()함수는 당신이 우커머스 설정에서 엔드포인트를 변경할 수 있기 때문입니다.downloads특정 엔드포인트가 아닐 수도 있습니다.

언급URL : https://stackoverflow.com/questions/40026409/how-can-i-change-the-url-of-woocommerce-my-account-menu-in-wordpress

반응형