я добавил пользовательскую конечную точку в меню 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 с файлом, который я хочу показать.
Как я могу это исправить?
ваш
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. Вам нужен путь к плагину, если этот файл из плагина.
Других решений пока нет …