Я пытаюсь добавить 2 конечные точки и связать их с двумя настраиваемыми шаблонами. 'my-server' -> 'Servers'
и 'my-affiliate -> 'Affiliate'
.
Я также создал два пользовательских шаблона:
- мой-server.php
- my-affiliate.php
Оба они находятся в моей папке theme > woocommerce > myaccount
. Партнерская страница правильно указывает на url / myaccount / my-affiliate.
Но моя проблема в том, что серверы выдают ошибку «404 страница не найдена».
Я попытался использовать решение в этой теме:
Назначение конечной точки настраиваемому шаблону на страницах моей учетной записи
В идеале я должен был запросить это как комментарий, но у меня недостаточно репутации, чтобы комментировать < / em>. Разрешение DarioFerrer отлично подходит для одной конечной точки и одного настраиваемого шаблона.
В моем случае я не могу найти решение для двух или более конечных точек:
- Как включить более двух конечных точек?
- Как назначить каждый из них индивидуальным шаблонам ?.
Любая помощь будет оценена.
Это мой код functions.php:
function my_custom_endpoints() {
add_rewrite_endpoint( 'my-server', EP_ROOT | EP_PAGES );
add_rewrite_endpoint( 'my-affiliate', EP_ROOT | EP_PAGES );
}
add_action( 'init', 'my_custom_endpoints' );
function my_custom_query_vars( $vars ) {
$vars[]= 'my-server';
$vars[] = 'my-affiliate';
return $vars;
}
add_filter( 'query_vars', 'my_custom_query_vars', 0 );
function my_custom_my_account_menu_items( $items ) {
$items = array(
'dashboard' => __( 'Dashboard', 'woocommerce' ),
'my-server' => __( 'Servers', 'woocommerce' ),
'orders' => __( 'Orders', 'woocommerce' ),
//'downloads' => __( 'Downloads', 'woocommerce' ),
//'edit-address' => __( 'Addresses', 'woocommerce' ),
//'payment-methods' => __( 'Payment Methods', 'woocommerce' ),
'edit-account' => __( 'Edit Accounts', 'woocommerce' ),
'my-affiliate' => __( 'Affiliate', 'woocommerce' ),
'customer-logout' => __( 'Logout', 'woocommerce' ),
);
return $items;
}
add_filter( 'woocommerce_account_menu_items', 'my_custom_my_account_menu_items' );
function my_affiliate_endpoint_content() {
include 'woocommerce/myaccount/my-affiliate.php';
}
add_action( 'woocommerce_account_my-affiliate_endpoint', 'my_affiliate_endpoint_content' );
function my_server_endpoint_content() {
include 'woocommerce/myaccount/my-server.php';
}
add_action( 'woocommerce_account_my-server_endpoint', 'my_server_endpoint_content' );
function my_custom_flush_rewrite_rules() {
flush_rewrite_rules();
}
add_action( 'after_switch_theme', 'my_custom_flush_rewrite_rules' );
Я использую Wordpress 4.5.3 с Woocommerce 2.6.2 на Theme Cardinal (тема Premium от Swiftideas).
Я запускаю этот сайт на WAMP / localhost.
Я не использую партнерские плагины. Я создал оба настраиваемых шаблона с некоторым общим HTML-содержимым. На вкладке «Партнерская программа» в настоящее время нет никакого контента, связанного с партнерской программой, только html, чтобы я мог использовать ее после того, как все настроено.
Использованная литература: