[woocommerce] マイアカウントにオリジナルのページを追加する

この記事は、過去の記事や制作物を移動したものです。
記事の内容が古い可能性がございますのでご注意ください。

WooCommerceでマイアカウントにカスタムページを追加します。

サンプルコード

<?php

// エンドポイントの追加
add_action( 'init', 'my_custom_endpoints' );

function my_custom_endpoints() {
  // カスタムページ my-custom.php
  add_rewrite_endpoint( 'my-custom', EP_ROOT | EP_PAGES );
}


// query_vars追加
add_filter( 'query_vars', 'my_custom_query_vars', 0 );

function my_custom_query_vars( $vars ) {
    $vars[] = 'my-custom';
    return $vars;
}


// リライトルール更新
add_action( 'after_switch_theme', 'my_custom_flush_rewrite_rules' );
function my_custom_flush_rewrite_rules() {
    flush_rewrite_rules();
}


// 追加したページにテンプレートを適用させる
// 'woocommerce_account_xxxx_endpoint'
add_action( 'woocommerce_account_my-custom_endpoint', 'my_custom_endpoint_content' );

function my_custom_endpoint_content() {
    wc_get_template_part( 'myaccount/my-custom' );
}

<?php
add_rewrite_endpoint()
add_filter( 'query_vars' )
add_action( 'after_switch_theme' )
add_action( 'woocommerce_account_xxxx_endpoint' )