Replying to Ui Bug: Exchange Add Membership Div/css Collision...
Posted 25 May 2014 - 07:51 AM
In case anyone else is having an issue with the "Advanced Menu" formatting, I was able to fix my issue by disabling Platinum SEO Pack.
Posted 23 May 2014 - 12:47 PM
Wow - that was unexpected! Thx! I started to look at it, but haven't gotten very far yet...not much time until Sunday. Noticed that they were putting a version on every admin page - not ideal and also spent some time looking at the css magic stuff.
There is definitely a new version of WP-United (.9.2.6, I think) that has a patch for the latest version of Wordpress and the promise of upcoming developments, but not convinced I should upgrade yet, because I am concerned about having to repair the installation.
Can you pm me the change or files? Maybe I can just patch my version.
WP-United is definitely a clever plugin and supports a much better forum solution for WP than the typical plugin versions. Also, the template/style support for phpBB is extensive - free/commercial.
Anyway - thanks again - really appreciate you taking a deeper look at the problem. You went above and beyond the call of duty!
ps. Does this change also account for the issue with TinyMCE Advanced, or is that a separate issue?
Posted 22 May 2014 - 02:44 PM
Just wanted to let you know that I had a few minutes to spare this afternoon, so I put together a patch for the WP-United plugin and submitted it to the plugin author - along with a description of the issue and why it necessary. It is a pretty simple fix, but there is no guarantee that the developer will implement my patch into the plugin.
Regardless you might keep an eye out for an update to WP-United that could fix his bug.
Posted 21 May 2014 - 06:18 PM
Thanks for the helpful and detailed explanation and code review. I appreciate it! I will have a look and then reply.
Posted 21 May 2014 - 05:02 PM
My name is Ty and I am one of the developers that works on Exchange.
I took a look through this thread, downloaded and installed the plugin in question ( WP-United ) that had a potential conflict, and was able to reproduce the issue that you are experiencing.
First, I'll explain what is happening from a technical standpoint:
The WP-United plugin (as well as the Crunchify plugin that Elise mentioned previously) is improperly loading a stylesheet on to every single page of the WordPress admin area. If you take a look inside the WP-United plugin, you'll see the code on lines 80-81 of settings-panel.php - they do properly register and enqueue the settings.css file, but with no scope as to which admin page it should go on. The correct way to do this in WordPress ( and the way that we do in Exchange ) is to only load styles on the pages where they are needed to avoid conflicts with other plugins. This stylesheet that they are loading onto Exchange pages is what is causing the wonkiness that you are seeing.
Exchange is not missing styles as you are suggesting - rather they are being muddled by errant styles loaded from the WP-United plugin.
What can we do about it:
I fully understand what you are saying about coding/styling defensively for maximum compatibility. It is for this reason exactly that every stylesheet Exchange loads into the admin area of WordPress is scoped to only load on the pages that it is needed on.
However, we cannot possibly anticipate what styles that other plugins can improperly load onto Exchange pages. What this means is that while we could add additional styles ( possibly even the exact styles that have provided ) to the page to override the styles that WP-United is loading, this would indefinitely bloat our code in our attempt to accommodate every other plugin developer that is doing it wrong. Coding/styling defensively can only be taken so far before it is simply not efficient anymore.
A better way to go about this would be to notify the developer of the WP-United plugin of the conflict that they are creating. We often do this when we find a conflict with other plugins and it serves two purposes.
1. If they take our notification to heart and implement the needed changes into their plugin, then we both win. Our pages in Exchange will be styled as desired, and they will also fix a bug in their plugin.
2. Additionally, it helps the WordPress community as a whole. The developer may not have even known of the bug, and by pointing it out to them and providing a patch to their code, they can learn the proper way to handle it, which will better any of their future plugins. The more we can educate other WordPress developers of good practice, the less conflicts we'll see.
I hope that this explains the issue at hand and adequately provides a solution to move forward with, though I am open to answering any other questions or concerns that you may have.
Posted 21 May 2014 - 04:16 PM
Thanks for the reply, update and effort. Yes - that is the plugin - glad you found it. It's not so much a case of not wanting to disable it. Ordinarily, I would have been very happy to if it were a simple plugin, but, as I explained, it was hard to configure. If I turn it off, I will have to repeat the process. I'm very sorry about not being able to disable it in my installation, but I thought that since you had also found another reproducible case with a different plugin, you were all set for local debugging/understanding the problem.
Please note that in my testing of this issue, it seemed like the membership add-on was getting lucky with respect to inherited css, since the expected fields that would control the display behavior were not present in its css. Also, as reported, it does not appear to work properly with Advanced Custom Fields. And, when I added some of the expected css info as shown in my previous posts, it was possible to correct the formatting, indicating that the membership plugin css info is missing, rather than being changed somehow or in conflict. If the fields were present, it would be working. At the QA level, when you find an outside product that changes the behavior of your product, it could be at fault, or it could be your product that is at fault - or maybe even both are at fault.
From a quality standpoint, the fact that another plugin reveals a possible shortcoming of or issue with the membership plugin's css implementation does not necessarily mean that it is the plugin at fault. In my opinion (and as a best practice), plugins should be coded/styled defensively for maximum compatibility.
I would appreciate it if someone in engineering would take a look at the membership css, review my comments, and see if it is possible to make the implementation more defensive, since the changes I made appear to work and point to a shortcoming in the design.
Alternately, if I am incorrect for some reason and the css fields I have pointed out as being missing in the Exchange membership plugin css are not actually missing, I would appreciate it if you could explain at a technical level why that is the case.
Thanks for your help.
Posted 21 May 2014 - 03:40 PM
I do not have an update on this issue from the developers. When/if there is an update, I will post here.
In the meantime, the plugin that you didn't want to deactivate to test - is this it? http://www.wp-united.com/get-wp-united/ If that is the correct plugin, it is the cause of the styling issue. I hadn't been able to find it before (I may have been searching the wrong thing, sorry), but I've found it now and installed it on my site and now my advanced options are appearing as you showed before. So, if that's the correct plugin, the issue is not Exchange, but the WP-United plugin.
Posted 20 May 2014 - 04:07 PM
Can you give me an update on the status of this issue? Should be a simple fix, right? It's been over a month.
Posted 15 April 2014 - 04:09 PM
Yes, this has been reported to the developers. I do not have a timeline for if/when this issue will be address, though. When/if it is, I'll post here to let you know.
Posted 15 April 2014 - 12:27 PM
I just noticed that there is a new Exchange update. I googled for the change history in the codex (since the exchange update link info is not correct in the plugin update window) and saw this info:
- Fixed issue with tracking membership cancelationg for PayPal Standard (Secure)
- Verify billing address saved before outputting that it saved
- Add styles to .it-exchange-visual-cc to help it look more like a card
- Fix subtotal mis-alignment in content-cart elements and correct hook names in same template
- Fix for Wizard opening two tabs when clicking link for Membership addon and Stripe addon
I don't see any indication of an update for the Advanced css issue. Is it possible to post an update as to the status of this request. I would prefer to update Exchange after there is a fix for the css problem (and it should be simple to fix). Has it been reported/logged as a bug yet?