WooCommerce - назначьте конечные точки для нескольких настраиваемых шаблонов на странице моей учетной записи

Я пытаюсь добавить 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, чтобы я мог использовать ее после того, как все настроено.

Использованная литература:


person mesumosu    schedule 08.07.2016    source источник
comment
Вы должны опубликовать то, что уже пробовали.   -  person helgatheviking    schedule 08.07.2016
comment
@LoicTheAztec спасибо, чтобы дать вам всю справочную информацию, я ничего не знаю о php, я изо всех сил старался решить эту проблему. Я хочу добавить 2 настраиваемые конечные точки - my-server и my-affiliate. my-affiliate работает нормально, но my-server выдает страницу с ошибкой 404. Я отредактировал свой вопрос, чтобы добавить то, что я пробовал до сих пор.   -  person mesumosu    schedule 08.07.2016
comment
@LoicTheAztec, большое спасибо за поддержку!   -  person mesumosu    schedule 08.07.2016
comment
Повторно сохраните ваши постоянные ссылки. Это безопасная ставка - повторно сохранять ваши постоянные ссылки каждый раз, когда у вас есть 404-е. Это не повредит и решает множество проблем. Предположительно, вы добавили вторую конечную точку после переключения тем, потому что после того, как я создал несколько поддельных шаблонов в папке woocommerce, ваш код у меня работал нормально. Замечание, пожалуйста, не добавляйте такую ​​функциональность в тему. Было бы лучше в плагине, и тогда вы можете сбросить постоянные ссылки при активации / деактивации.   -  person helgatheviking    schedule 08.07.2016
comment
@ helgatheviking, спасибо большое !!! ты рок !! uwr пятно, проблема решена. Повторное сохранение постоянных ссылок сделало это. фу! потратили на это часы, можете ли вы подсказать, что теперь делать с вопросом?   -  person mesumosu    schedule 08.07.2016
comment
Скопировал мой комментарий к новому ответу. @mesumosu, что ты имеешь в виду, можешь предложить, что делать сейчас, с вопросом? Вопрос был в том, как добавить несколько конечных точек, что вы делаете правильно, вам просто нужно было очистить постоянные ссылки.   -  person helgatheviking    schedule 08.07.2016


Ответы (1)


Повторно сохраните постоянные ссылки.

Каждый раз, когда у вас есть ошибка 404, можно с уверенностью повторно сохранить постоянные ссылки. Это не повредит и решает множество проблем. Предположительно, вы добавили вторую конечную точку после переключения тем, потому что после того, как я создал несколько поддельных шаблонов в папке woocommerce, ваш код у меня работал нормально.

Примечания

Пожалуйста, не добавляйте такую ​​функциональность в тему.
Было бы лучше в плагине , а затем вы можете сбросить постоянные ссылки при активации / деактивации.

person helgatheviking    schedule 08.07.2016