Как добавить новую конечную точку в woocommerce

Я использую woocommerce для веб-сайта и где клиент продает программное обеспечение. Один из вариантов, который я должен добавить, - это запросить кнопку лицензии на моей странице учетной записи.

У меня уже есть функция, которая делает это в файле request-license.php в папке woocommerce в моей теме, но у меня возникают проблемы с добавлением новой точки.

введите изображение здесь »> </a> </p>

<p>, когда вы нажимаете на просмотр файла view-order.php на конечной точке, поэтому я хочу вызвать запрос-лицензию при нажатии кнопки запроса запроса. </p>

<p> вот как называется </p>

<pre><code>---- +: = 0 = + ----</code></pre>

<p> Я знаю, что мне нужно создать функцию get_request_license_url (), но не знаю, как ее реализовать. Надеюсь, что я смогу помочь здесь. </p></body></html>

7 голосов | спросил user3344329 1 stEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 01 Sep 2015 20:02:10 +0300 2015, 20:02:10

1 ответ


5

Кажется, у woocommerce нет фильтров при регистрации своих конечных точек, https://github.com/woothemes/woocommerce /blob/master/includes/class-wc-query.php#L84

, поэтому вам нужно добавить новую конечную точку в init hooks, как это показано

add_action( 'init', 'add_endpoint' );
function add_endpoint(){
    add_rewrite_endpoint( 'license', EP_ROOT | EP_PAGES );
}

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

add_filter( 'wc_get_template', 'custom_endpoint', 10, 5 );
function custom_endpoint($located, $template_name, $args, $template_path, $default_path){

    if( $template_name == 'myaccount/my-account.php' ){
        global $wp_query;
        if(isset($wp_query->query['license'])){
            $located = get_template_directory() . '/your-path-to-file.php';
        }
    }

    return $located;
}

, поэтому, когда вы посещаете мою страницу с конечной точкой license, скажем http://yourdomain.com/my-account/license/, который отобразит ваш собственный код

ответил Lafif Astahdziq 11 FriEurope/Moscow2015-12-11T16:20:51+03:00Europe/Moscow12bEurope/MoscowFri, 11 Dec 2015 16:20:51 +0300 2015, 16:20:51

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132