URL-адрес содержимого конечной точки Woocommerce - PullRequest
0 голосов
/ 28 мая 2018

я добавил пользовательскую конечную точку в меню myaccount, и она соответствовала списку желаний Yith Woccommerce.Я добавил этот код, чтобы создать edpoint и показать содержимое:

function my_custom_endpoints() {
add_rewrite_endpoint( 'yith-my-wishlist', EP_ROOT | EP_PAGES );
}

add_action( 'init', 'my_custom_endpoints' );

function my_custom_query_vars( $vars ) {
    $vars[] = 'yith-my-wishlist';

    return $vars;
}

add_filter( 'query_vars', 'my_custom_query_vars', 0 );

function my_flush_rewrite_rules() {
    flush_rewrite_rules();
}

add_action( 'wp_loaded', 'my_flush_rewrite_rules' );

function my_custom_my_account_menu_items( $items ) {
    $items = array(
    'customer-logout'   => __( 'Logout', 'woocommerce' ),
    'edit-account'      => __( 'My Profile', 'woocommerce' ),
    'yith-my-wishlist'  => __('My Wishlist', 'woocommerce'),
    //'dashboard'         => __( 'Dashboard', 'woocommerce' ),
    'orders'            => __( 'Orders', 'woocommerce' )
    //'downloads'       => __( 'Downloads', 'woocommerce' ),
    //'edit-address'    => __( 'Addresses', 'woocommerce' ),
    //'payment-methods' => __( 'Payment Methods', 'woocommerce' ),



    );

    return $items;
}

add_filter( 'woocommerce_account_menu_items', 'my_custom_my_account_menu_items' );

function my_custom_endpoint_content() {
    include 'yith-woocommerce-wishlist/wishlist-view.php';
}

add_action( 'woocommerce_account_special-page_endpoint', 'my_custom_endpoint_content' );

Но содержимое не появляется.Я думаю, что я ошибся в ссылке в функции my_custom_endpoint_content ().

У меня есть дочерняя тема, и этот код находится в functions.php дочерней темы.Я скопировал папку плагина yith в папку childtheme с файлом, который я хочу показать.

Как я могу это исправить?

1 Ответ

0 голосов
/ 28 мая 2018

ваш

add_action( 'woocommerce_account_special-page_endpoint', 'my_custom_endpoint_content' );

должен был быть

add_action( 'woocommerce_account_yith-my-wishlist_endpoint', 'my_custom_endpoint_content' );

именно в этом формате 'woocommerce_account_' . $key . '_endpoint', где $key в вашем случае yith-my-wishlist.

Кроме того, я думаю, include 'yith-woocommerce-wishlist/wishlist-view.php'; не будет работать на functions.php.Вам нужен путь к плагину, если этот файл из плагина.

...