2016-07-08 5 views
2

2つのエンドポイントを追加して2つのカスタムテンプレートに関連付けようとしています。 'my-server' -> 'Servers'および'my-affiliate -> 'Affiliate'。それらの両方は私のtheme > woocommerce > myaccountフォルダに配置されている WooCommerce - マイアカウントページの複数のカスタムテンプレートにエンドポイントを割り当てる

  • 私-affiliate.php

    • 私-server.phpという:

      私はまた、2つのカスタムテンプレートを作成しました。アフィリエイトページが正しくurl/myaccount/my-affiliateを指しています。

      しかし、私の問題は、サーバーが「404ページが見つかりません」というエラーが出ていることです。

      私はこのスレッドで解決策を使用しようとしました:
      Assigning an endpoint to a custom template in my account pages
      理想的には私はコメントとしてこれを要求している必要がありますが、私はをコメントするのに十分な評判を持っていません。 DarioFerrerの解像度は、単一のエンドポイントと単一のカスタムテンプレートに適しています。私の場合は

      、Iは2つの以上のエンドポイントのためのソリューションを把握することはできません。

      • がどのように2つの以上のエンドポイントを含めるように?
      • それぞれをカスタムテンプレートに割り当てる方法は?

      ご協力いただきますようお願い申し上げます。

      これは私の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'); 
      

      私はテーマ枢機卿(Swiftideasプレミアムテーマ)にWoocommerce 2.6.2とWordpressの4.5.3を使用しています。
      私はWAMP/localhostでこのWebサイトを実行しています。
      私はアフィリエイトプラグインを使用していません。私はいくつかの一般的なHTMLコンテンツで両方のカスタムテンプレートを作成しました。アフィリエイトタブは現在、アフィリエイト関連のコンテンツを持っていません。私はすべてのものが設定されると、それを使用するためのhtmlだけです。

      参考文献:

  • +0

    これまでに試したことを投稿する必要があります。 – helgatheviking

    +0

    @LoicTheAztecありがとう、私はPHPの何も知っているすべての背景を与えるために、私はこれを解決するために全力を尽くしました。私は、2つのカスタムエンドポイント - my-server&my-affiliateを追加したいと思います。 my-affiliateは正常に動作していますが、my-serverは404エラーページを表示しています。私は質問を編集して、これまでに試したことを追加しました。 – mesumosu

    +0

    @LoicTheAztec、励ましのためにたくさんのこと! – mesumosu

    答えて

    2

    あなたのパーマリンクを再保存します。

    あなたは404エラーを持っていつでも、それは、再保存あなたのパーマリンクへの安全な賭けです。それは傷つけることはできませんし、多くの問題を解決します。おそらく、woocommerceフォルダにいくつかの偽のテンプレートを作成すると、テーマが切り替わった後に2番目のエンドポイントが追加されたことになります。

    追記

    テーマにこの種の機能を入れないでください。
    プラグインではが良いでしょう。パーマリンクを有効/無効にすることができます。

    関連する問題