Embedder Support Forum

92 Comments in 29 Topics
Embedder Plugin Support Forum » Bug? - Embedder doesn't work with "Hackadelic Sliding Notes"
Author Topic: Bug? - Embedder doesn't work with "Hackadelic Sliding Notes" 14 comments / 15058 views
Rumli

I really like Embedder because it makes coding and creating pages a lot easier, thanks!

However I think I encountered a problem: When I use Embedder and another plugin called Hackadelic Sliding Notes – btw its syntax goes like this: [slider title=”push me”]content[/slider] – is activated the “content” isn’t displayed anymore so basically the sliding plugin stops working. Without Embedder everything is fine, so I thought this might be a bug?

Infos: I’m using WP 3.0.3 and your is parsing method enabled…

moztools

Thanks for the information, Rumli. It does sound as though the two plugins are not behaving well together. I’ll take a look when I get the chance, later, to see if there is anything I can change in the Embedder to resolve the issue.

Mike

Rumli

Thank you Mike, it would be great if you could find a solution for this. I really need Embedder and the sliding plugin. 😉

moztools

Well, it’s never simple, is it? I installed the sliding plugin, and tested out with the following:

 [ col c=red] [slider title="slider button title"]sliding 
   [ col c="green"]note[/col] content[/slider] [/col]

where “col” is an embed which sets the color of the text (without the space after the open bracket). You can see from this test page:

http://test.englishmike.net/wordpress/2010/11/14/embedder-v0-3-posted/

that it’s working okay (the slider expands, and the colors are set to red (outside the slider tags) and green (inside), so in principle, I think the two plugins should work together fine (if you use the new parser — the old parser does not see the embed inside the slider tag, but that’s probably a problem with the Slider Plugin, not Embedder :-).

Soo… I will probably need more information if I have any chance of resolving your problem.

— Is the content missing even if you don’t have any embeds on the page?
— I assume you do not have an embed called “slider” — that would certainly cause problems!
— Have you looked at the source code of the generated page (Ctrl-U on Firefox) to see if the content of the sliders are completely missing, or just not showing up?

I’m not quite sure what’s going on, honestly. I looked at the slider code, and nothing jumped out at me as being a problem — he is just using a standard shortcode, which should be fine.

If you can give me an example of a slider that is having the problem (or perhaps a link to a page with one on it), that might help too.

Mike

Rumli

Unfortunately I can’t give you a test link because my page isn’t officially online yet (currently I’m just switching my old index.php with the wp one for a few minutes ;-)).
But I can try to give you as much information as possible: Embedder and “Slider” are used on the same page but not mixed as in your example. I use local embeds (for images in a table) and a global one. The slider is inside a table cell like this: “[slider title=””][/slider]” and no content is added to the page – I think that’s the problem because I can see Slider to start moving (trying to show something). The following is simply missing at the very bottom of the page:
CONTENT

I disabled ever other plugin (except qTranslate) and the problem persists. What else can I say…I’m using jQ as my theme with jQuery from google (using deregister, register, enqueue in functions.php (took me pretty long to find out how I could stop wp and jQ from loading the included script but it seems to work just fine now)).

I hope this helps.

Regards,
Rumli

Rumli

Sorry, the html code was stripped out. So lets try again with the code-tag.

In the table it looks like:
[slider title=""][/slider]

And this is missing with Embedder enabled:
CONTENT

moztools

I don’t think JQuery is a problem, since Embedder doesn’t use JQuery (except in the admin pages), and being in an HTML table shouldn’t be a problem either. I still don’t see what the problem could be.

All I can suggest now is for you to send me and email with the following attachments:

— the source of a page with the bug (i.e. edit the page with the HTML editor in WordPress and cut and paste it into a file and attach that file to the email.)
— the output of that page in the browser (i.e. save the page in the browser — HTML only, don’t need the images — and also send it to me as an attachment.

Then I can see what how the page is being transformed.

Send these files to mike@moztools.com and I’ll take a look at them, though I will be quite busy between now and Christmas, so I can’t promise I will get to them quickly.

Rumli

In my e-mail I said that I will check if uncommenting my changes to Slider will change anything. Well, I just tested it and didn’t help. In the post above I also said that I disabled all plugins but qTranslate – just did it as well and didn’t help either…I hope you find a quick solution.

Anyway, I think I just found another small “bug”: It is possible to use attributes in the “Wrap Embed” option fields but those won’t be displayed in the overview page.

Regards

moztools

Thanks, I have the email — and yes, the plugin doesn’t look in the wrapped fields for attributes at the moment. Noted.

Okay, figured out the problem — I should have noticed this before, it’s not really a bug in either plugin, it’s just that we’re playing around with the same WordPress filter — ‘the_content’ — which is why Embedder is causing a problem for Slider:

In hackadelic-sliding-notes/hackadelic-sliders.php you have this:

  add_filter('the_content', array(&$this, 'preProcessContent'), 10);
  add_shortcode('slider', array(&$this, 'doShortcode'));
  add_filter('the_content', array(&$this, 'postProcessContent'), 12);

But in embedder/emb-parser.php you have this:

  remove_filter('the_content', 'do_shortcode', 11);
  add_filter('the_content', 'do_shortcode', 15);

The numbers are the order in which the filters are called. The shortcode filter — the one that does the main substitution for Slider, is normally priority 11, and Slider expects it to have been called before its “postProcessContent” filter is called, at priority 12. But, as you can see, Embedder moves the shortcode filter to priority 15, which messes things up.

I have my reasons for doing this (but it would take too long to explain), and when I did it I remember wondering if it might cause problems down the road (but of course I forgot about it). WordPress doesn’t help because most of the existing filters using “the_content” are clustered tightly around priority 10 (and you cannot guarantee the ordering with filters with the same priority) so plugins have no room to insert their own filters between existing ones, which is why I move the “do_shortcode filter”.

Anyway, to fix this problem, all you have to do is adjust the priorities again. I suggest, since you have already modified Slider, and you will probably want the next version of Embedder when it comes out :-), that you change Slider rather than Embedder. (But it’s up to you, of course).

In hackadelic-sliding-notes/hackadelic-sliders.php just change this line:

  add_filter('the_content', array(&$this, 'postProcessContent'), 12);

to this:

  add_filter('the_content', array(&$this, 'postProcessContent'), 20);

and it should all work again for you. (BTW: You do not need to change the “widget_text” line, even if you use sliders in widgets.)

I may have to add an option to Embedder to allow users to change the order in which things are done, to help prevent this type of problem, but I will have to think about how best to do that.

Thanks for feedback. And I hope the workaround works for you. Please let me know how you get on.

Mike

Rumli

It works! Thank you very much Mike, I really appreciate your help.
If you have a possibility to receive donations, I would like to give you some of my spare dollars… 🙂

Best regards

Powered by moztools Instant Forums

Leave a Reply

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