Integrating WooCommerce My Account Area with BuddyPress

by | Sep 28, 2016 | WordPress Tweaks

WooCommerce is the most popular shopping cart for WordPress. BuddyPress is powerful community plugin for WordPress that takes your site beyond a blog and gives it social networking features. Both plugins are now owned by the same company, Automattic. But if you’ve ever tried installing them both on the same site, you’ve probably realized that you are left with two completely separate “My Account” areas for users to manage their account! This is very confusing.

I started off by labeling the WooCommerce area as “My Account” and the BuddyPress area as “My Profile” on my menu bar. How did this work? Not very well. Users can do some actions in either area (e.g. change email, reset password), some only in the BuddyPress profile area (e.g. activity streams, groups, notifications), and some only under the WooCommerce account area (e.g. order history, change address). Not a good user experience.

Unfortunately, all of the existing integration solutions that I found online were designed to work before WooCommerce updated to a tabbed My Account interface in version 2.6. I even tried purchasing the integration from ThemeKraft, but it failed to display almost all of the WooCommerce My Account tabs in BuddyPress. Their support was awesome and they quickly gave me a refund.

So I stayed up most of the night and coded my own plugin to integrate the WooCommerce My Account area into BuddyPress. I put my code up on GitHub if you’re interested. It’s not an all-around comprehensive solution that is going to work right out of the box for everyone, but it’s a rough start that seems to be getting the job done for me. Here are the aspects that it addresses:

  • Add the WooCommerce My Account tab and subtabs to the BuddyPress profile navigation
  • Override WooCommerce endpoints to point them to the pages on the BuddyPress profile
  • Override the WooCommerce is_add_payment_method_page function to allow the Add Payment Page to appear outside of the WooCommerce My Account area
  • Point the WooCommerce “Edit Account” URL to the BuddyPress “Account Settings” page

2016-09-28-12_54_18-lenspiration

If anyone has ideas for improving and adding to this approach, feel free to submit a pull request on GitHub.

View the BuddyPress WooCommerce My Account Integration on GitHub.

***** Update 2/4/2017 *****

I just received a note today from ThemeKraft that said they have recently been working on their integration: “We have finally started to rewrite the plugin as you suggested. It was definitely needed to rewrite it after all the time WooCommerce has changed rapidly. There are options for all the my account pages now and the best we want to make it a free plugin on WordPress.org with a free/ pro business model but keep the development on github.” This is definitely worth checking out!

45 Comments

  1. James

    Works great!

    Reply
  2. Muhammad Usman Ghani

    I am not a coder. Where I should put this filet o get the results? Buddypress directory?

    Reply
  3. Muhammad Usman Ghani

    lol.

    I thought I have to place php file somewhere. In fact github scares me up that its some haardcore coding thing.

    I installed it as plugins are installed and testing. Will give feedback.

    Reply
  4. jimmyjames

    That worked great! Thank you for your hard work. Saved me some 🙂

    Reply
  5. Bachtiar

    Thank you

    Reply
    • Robert Staddon

      The path /my-account/edit-address/ is the permalink format that WooCommerce uses while /members/user-name/*/ is the permalink format that bbPress uses. The idea of this plugin is to allow the WooCommerce My Account pages to be viewed as bbPress tabs. The plugin adds the bp_core_new_nav_item “account” and then the bp_core_new_subnav_item “edit-address” so the URL slug for that page would indeed be /members/user-name/account/edit-address. Perhaps after activating the plugin you should go to Settings > Permalinks and click “Save” to force WordPress to refresh it’s permalink cache?

      Reply
  6. mark

    hi,
    first things firs – that is some amazing work you have done here!
    I installed successfully on one site, it work, the tab was there, the sub-tabs worked too.
    Then i installed it on another site(that is basically the same site in beta, the first one is for testing only) and the tab was there, but the sub tabs didn’t show anything. I refreshed the permalinks and it didn’t help. Then suddenly they stopped working on the testing page too.
    What can i do?
    Thank you…
    can’t submit – maybe it will duplicate…sorry about that.

    Reply
    • Robert Staddon

      Hey Mark! Are you getting 404 errors or blank pages? A 404 error would point to a problem with the permalinks while a blank page would make it sound like WooCommerce wasn’t installed or working properly.

      If it’s the latter problem, what happens if you uncomment the line (around 178) that adds the action that calls the “account_screen_title” function? Do your blank tabs then show a “My Account” title at the top when you click on them?

      Reply
  7. mark

    hi, Robert,
    thanks for responding.
    Actually i don’t get blank pages. no matter what i click on my account tab(any sub-tab) – it always shows the dashboard of my account.
    And now it started to log me out when i want to acces customizer or save any setting in backend…
    How exactly do i uncomment a line? because – you know – i am not really skilled at coding. 😉

    Reply
  8. mark

    Oh, now i understand…when i click on Account tab “My account” title does not show up.

    Reply
  9. mark

    ok, i removed // from that line and now “My account” title shows up. But the subnavs are still not working.
    I removed the plugin and entered the code in functions.php if it helps 😉

    Reply
    • Robert Staddon

      So it sounds like bbPress is running fine and setting up the navs and subnavs and running the display functions.

      So the problem appears to be related to the WooCommerce endpoint URLs. Are you sure you have the latest version of WooCommerce activated? What version are you running? Can you enable WordPress debugging (https://codex.wordpress.org/Debugging_in_WordPress) and see if the error_log command on line 212 is outputting the “TEST” string to your error log?

      Reply
  10. mark

    i don’t have bbPress installed…why should i if this code is for bp and woo only?
    also i am not sure i did everything correct but there is no TEST string in my error log on line 212.
    Here are the lines from 200-240:

    [Error log code went here]

    Honestly – i don’t even know what i am looking at 🙂
    please erase this after viewing.

    Reply
    • Robert Staddon

      It doesn’t appear that any of those lines of error code were coming from this plugin since we’re not calling WC_Customer::set_city, woocommerce_add_order_item_meta, billing_email, or billing_first_name. You must have a WooCommerce extension plugin installed that’s running some legacy code. Because you’re not getting the “TEST” message it means that the add_filter for ‘woocommerce_get_endpoint_url’ isn’t running. Are you sure you’re running the latest version of WooCommerce?

      Reply
  11. mark

    Yes, i am on woocommerce 2.6.14. i deactivated all add-ons(i have two – woocommerce order signature and woocommerce extra product options) with no luck.
    how can i find out what is calling those things?
    If i could get this to work that would be amazing.

    Reply
  12. mark

    wait – i have buddypress 2.8 alfa (comes with x theme). Could this be the problem? i’ll go test this out to see if an older version helps.

    Reply
  13. mark

    things are getting wierd. When i pasted the code into functions php on my testing site – the site broke, change the encoding and erased the content functions. php…

    Reply
  14. mark

    oh – and it is not the buddypress version. on my testing site i have 2.7.4
    sorry to bother you so much on a friday. but i would really really love to get that working…

    Reply
    • Robert Staddon

      I don’t think it’s a BuddyPress issue. The fact that the tabs are appearing in BuddyPress shows that things are working good on that side. If it is always showing the WooCommerce My Account Dashboard, it means that something is interfering with your WooCommerce endpoints. woocommerce_account_content defaults to the Dashboard if no endpoints are found (see https://docs.woocommerce.com/wc-apidocs/source-function-woocommerce_account_content.html#2107-2129). The only thing I could think of that might refresh this would be saving your WordPress Permalinks under Settings.

      A way that you could try to narrow down your issue would be to insert “error_log” commands inside the “woocommerce_get_endpoint_url” filter to see if it is running correctly and how far it is getting. If you’re not comfortable with PHP code, you might consider hiring a PHP guru to get it running for you.

      Reply
  15. mark

    Hi, Robert,
    i studied the error.log file a little more and found the TEST lines you were talking about.
    Can you please take a look? I don’t know what all those ‘false’ statements mean, maybe is that causing my problems and you can help me out to fix it?
    Here is the part of the log:(please erase after viewing)

    [03-Feb-2017 13:52:48 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 13:52:48 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 13:52:53 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 13:52:53 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 13:52:57 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 13:52:57 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 13:53:00 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 13:53:00 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 13:53:02 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 13:53:02 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 13:55:54 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 13:55:54 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 13:55:59 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 13:55:59 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 13:59:10 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 13:59:10 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 13:59:12 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 13:59:12 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 13:59:15 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 13:59:15 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 14:07:45 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 14:07:45 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 14:07:48 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 14:07:48 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 14:07:51 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 14:07:51 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 14:07:56 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 14:07:56 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 14:07:59 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 14:07:59 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 14:08:22 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 14:08:22 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 14:08:30 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 14:08:30 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 14:09:07 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 14:09:07 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 14:09:08 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 14:09:08 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 14:09:20 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 14:09:20 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 14:09:28 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 14:09:28 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 14:09:30 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 14:09:30 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 14:09:32 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 14:09:32 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 14:10:05 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 14:10:05 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 14:10:52 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 14:10:52 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 14:11:06 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 14:11:06 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 14:13:01 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 14:13:01 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 14:13:05 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 14:13:05 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 16:04:19 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 16:04:19 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 16:07:33 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 16:07:33 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 16:07:39 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 16:07:39 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 16:07:41 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 16:07:41 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 16:19:37 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 16:19:37 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 16:19:41 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 16:19:41 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 16:25:06 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 16:25:06 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 16:25:10 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 16:25:10 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 16:25:13 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 16:25:13 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 16:32:08 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 16:32:08 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 16:32:12 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 16:32:12 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 16:32:15 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 16:32:15 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 16:32:18 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 16:32:18 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 16:32:20 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 16:32:20 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 16:32:24 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 16:32:24 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 16:32:28 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 16:32:28 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 20:11:23 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 20:11:23 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 20:11:26 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 20:11:26 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 20:11:52 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 20:11:52 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 20:11:57 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 20:11:57 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 20:12:00 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 20:12:00 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 20:12:47 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 20:12:47 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 20:12:50 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 20:12:50 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 20:12:53 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 20:12:53 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 20:12:55 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 20:12:55 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 20:15:13 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 20:15:13 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 20:15:31 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 20:15:31 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 20:15:34 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 20:15:34 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 20:15:37 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 20:15:37 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 20:15:54 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 20:15:54 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 20:17:13 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 20:17:13 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 20:25:10 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 20:25:10 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 20:25:14 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 20:25:14 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 20:25:17 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 20:25:17 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 20:30:30 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 20:30:30 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 20:30:33 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 20:30:33 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 20:30:36 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 20:30:36 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 20:30:38 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 20:30:38 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 21:11:33 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 21:11:33 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 21:18:46 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 21:18:46 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 21:18:49 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 21:18:49 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [03-Feb-2017 21:18:52 UTC] TEST:’/orders/’|’orders’|”|false
    [03-Feb-2017 21:18:52 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [04-Feb-2017 00:52:13 UTC] TEST:’/orders/’|’orders’|”|false
    [04-Feb-2017 00:52:13 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [04-Feb-2017 00:52:20 UTC] TEST:’/orders/’|’orders’|”|false
    [04-Feb-2017 00:52:20 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [04-Feb-2017 00:53:25 UTC] TEST:’/orders/’|’orders’|”|false
    [04-Feb-2017 00:53:25 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [04-Feb-2017 00:53:31 UTC] TEST:’/orders/’|’orders’|”|false
    [04-Feb-2017 00:53:31 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [04-Feb-2017 00:53:36 UTC] TEST:’/orders/’|’orders’|”|false
    [04-Feb-2017 00:53:36 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [04-Feb-2017 00:54:32 UTC] TEST:’/orders/’|’orders’|”|false
    [04-Feb-2017 00:54:32 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [04-Feb-2017 00:54:35 UTC] TEST:’/orders/’|’orders’|”|false
    [04-Feb-2017 00:54:35 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [04-Feb-2017 00:54:39 UTC] TEST:’/orders/’|’orders’|”|false
    [04-Feb-2017 00:54:39 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [04-Feb-2017 01:00:08 UTC] TEST:’/orders/’|’orders’|”|false
    [04-Feb-2017 01:00:08 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [04-Feb-2017 01:00:18 UTC] TEST:’/orders/’|’orders’|”|false
    [04-Feb-2017 01:00:18 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [04-Feb-2017 10:41:29 UTC] TEST:’/orders/’|’orders’|”|false
    [04-Feb-2017 10:41:29 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [04-Feb-2017 10:41:33 UTC] TEST:’/orders/’|’orders’|”|false
    [04-Feb-2017 10:41:33 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [04-Feb-2017 10:41:52 UTC] TEST:’/orders/’|’orders’|”|false
    [04-Feb-2017 10:41:52 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [04-Feb-2017 10:42:41 UTC] TEST:’/orders/’|’orders’|”|false
    [04-Feb-2017 10:42:41 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [04-Feb-2017 10:42:44 UTC] TEST:’/orders/’|’orders’|”|false
    [04-Feb-2017 10:42:44 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [04-Feb-2017 10:42:47 UTC] TEST:’/orders/’|’orders’|”|false
    [04-Feb-2017 10:42:47 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [04-Feb-2017 15:17:45 UTC] TEST:’/orders/’|’orders’|”|false
    [04-Feb-2017 15:17:45 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [04-Feb-2017 15:17:48 UTC] TEST:’/orders/’|’orders’|”|false
    [04-Feb-2017 15:17:48 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [05-Feb-2017 03:48:01 UTC] TEST:’/orders/’|’orders’|”|false
    [05-Feb-2017 03:48:01 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [05-Feb-2017 03:48:06 UTC] TEST:’/orders/’|’orders’|”|false
    [05-Feb-2017 03:48:06 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [05-Feb-2017 03:48:15 UTC] TEST:’/orders/’|’orders’|”|false
    [05-Feb-2017 03:48:15 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [05-Feb-2017 03:48:24 UTC] TEST:’/orders/’|’orders’|”|false
    [05-Feb-2017 03:48:24 UTC] TEST:’/edit-address/’|’edit-address’|”|false
    [05-Feb-2017 09:40:33 UTC] TEST:’/orders/’|’orders’|”|false
    [05-Feb-2017 09:40:33 UTC] TEST:’/edit-address/’|’edit-address’|”|false

    I’ll take a look at that plugin too.
    Thank you.

    Reply
  16. Sayantan Das

    HI,

    I think your plugin works the best compared to all other integration plugins. One question though, is it possible to view the details of an order on the same page instead of going to woocommerce my orders?

    Reply
  17. Mark

    Hi,Robert!
    I installed that plugin and is working. Only some strange aaaa’s are behind almost every subnav tab-title.

    Reply
  18. Sayantan Das

    Hi Robert,

    I have noticed that the options are not clickable when using the default WordPress themes 2016 and 2017. Do you know how to work around that?

    Regards.

    Reply
  19. Sean

    Robert! Your a total legend! It works perfectly on my install! Your a total legend! Thank you so much!

    Reply
  20. David

    This is really great. Thanks for the hard work.

    One question: Under the subscriptions tab, when I click “View” on a subscription, it takes me to the default WC “My Account” page. Any way this could be displayed on the BP profile page as well?

    Reply
  21. Justin

    Hi Robert – thanks for this. I hacked out a couple of the menu options, hacked in my Wishlist page and it looks good.

    Like Sayantan above, the only thing that’s not working right is the View Order functionality, and I can’t work out how to fix it. Clicking View Order next to an order takes you back to the Woocommerce default order view screen, which isn’t a great user experience.

    I’m currently trying to work out how they do it in wc4bp and will try to post a solution but if you’ve already solved this then I’d be very keen to see how you did it – thanks : )

    Reply
  22. Anil

    Hello

    Requesting for help on this

    I performed the following steps

    Step 1: Installed this wonderful plugin
    Step 2: Settings > Permalinks and click “Save”

    Results
    On the My Account page http://mysite.com/my-account/
    Dashboard url no change
    Orders url changed to http://mysite.com/members/admin/account/orders/
    Downloads url changed to http://mysite.com/members/admin/account/downloads/
    Addresses url changed http://mysite.com/members/admin/account/edit-address/
    Account Details url changed http://mysite.com/members/admin/settings/

    Now If I got http://mysite.com/members/admin/account/
    Then
    Dashboard is fine but all other tabs like Orders, Downloads, Addresses, Subscribition, Payment methods links are rounting to the Unsecured pages.

    For eg: here download url is https://mysite.com/members/admin/account/downloads/

    So basically, what I have oberserved here is that if I click on Downloads tab from My Account page http://mysite.com/my-account/ then it is routing to http://mysite.com/members/admin/account/downloads/
    However if I click on Downloads tab from BuddyPress Account page http://mysite.com/members/admin/account/ then it routs to https://mysite.com/members/admin/account/downloads/

    From WooCommerce its taking http:// but from BuddyPress its taking https://

    Could you please suggest any solution to this?

    Secondly, I wanted to check on following 4 steps given in this post

    1. Add the WooCommerce My Account tab and subtabs to the BuddyPress profile navigation
    2. Override WooCommerce endpoints to point them to the pages on the BuddyPress profile
    3. Override the WooCommerce is_add_payment_method_page function to allow the Add Payment Page to appear outside of the WooCommerce My Account area
    4. Point the WooCommerce “Edit Account” URL to the BuddyPress “Account Settings” page

    From there I think step 1 and 2 are working fine for me. Step 3 I think not required (please correct me if its hindering something). Step 4 I’m facing problem.
    I could find the WooCommerce “Edit Account” URL which is http://mysite.com/my-account/edit-account/

    Could you please help with BuddyPress “Account Settings” page url ?

    Thanks in advance.

    Regards
    Anil

    Reply
  23. Ben

    Fantastic code 🙂 The code has integrated well! I was wondering if you know how to get the login on My-account page to direct to the buddypress profile upon login. Now it brings me to the My-account page with limited info.

    Reply
  24. Iryna

    Hi
    Could you please tell me where can i put this code?
    thanks a lot

    Reply
  25. Iryna

    I put it to bp_custom.php
    Is it right?
    It seems tome it works. Will test it now

    thanks

    Reply
  26. Richard

    Robert,

    Thanks for the producing the plugin. It works nicely, except for, as Sayantan and Justin have pointed out, clicking the View button next to an order on the Orders submenu opens the order details page in the default WooCommerce My Account page, rather than within the BuddyPress submenu. Do you plan to change/fix this?

    FYI I am running the latest versions of the plugin (1.2) and WooCommerce (3.43).

    I hope to hear from you, even if you do not plan to make a change/fix.

    Best,
    Richard

    Reply
    • Robert Staddon

      Hello Richard, thank you for your comment! Yes, that is an issue with the individual order details pages opening in the default WooCommerce My Account page instead of in the BuddyPress admin panel. Unfortunately, I haven’t come up with an easy way to be able to do this. If you think of something, feel free to submit a pull request to the GitHub repository!

      Reply
      • Richard

        Robert,

        Thank you for the prompt response.

        I have a developer that is going to be doing some work on my site. If he finds a solution, I will share it.

        Best,
        Richard

        Reply
        • Justin

          Hi Richard – was wondering whether you solved this (and shared the solution 🙂

          Reply
          • Richard

            Justin,

            We solved it, but haven’t yet shared the solution. Bear with me.

            Best,
            Richard

  27. Alexander

    Hello, if any demo is available?

    Reply
    • Robert Staddon

      Hello Alexander, I’m sorry but there is no demo site available.

      Reply
    • Dave

      Hey Richard,

      Can we get a PR on the github project with the solution? 🙂

      Thank you!

      Reply
      • Richard

        Dave (and Justin),

        I checked with my developer. It seems that rather than fix this plugin, he developed his own solution.

        My apologies for the confusion.

        Best,
        Richard

        Reply
  28. Sven

    Hi, i have download your files from github.
    how do i use?

    Reply
    • Robert Staddon

      Actually, if you download a zip, you could install it as a plugin!

      Reply

Submit a Comment

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail. You can also subscribe without commenting.