Big problem with activity embeds
-
Hello,
I’ve been struggling for days with oEmbed, but I’m not a coder nor very experienced in WP so no luck yet. I want to be able to post on the activity stream from almost any source and generate a preview (same as on Facebook, Tumblr etc). First of all, even some major sites (Facebook, Flickr, Tumblr) from the WP whitelist do not generate a preview when posting a link in activity. A bug maybe? Also, Activity Plus and rtMedia are not solutions, because I tried them and both have problems. I should point out that I have multisite and BP Multi Network and have set BP_ENABLE_MULTIBLOG as true.
Two very good plugins are Iframely and Embedly. The problem with the first is that there’s a limit of embeds in the free version and it doesn’t support as many sites as I need. Embedly does, but here’s the problem. When activated, there seems to be a conflict with some of the default embed providers of BP, like Vimeo and Youtube. A preview is still generated, but it is only a dead image of the video. You cannot click play or click on the title and open the video in a new tab. So the plugin becomes essentially useless (nobody could afford to have a social network where users can’t post YouTube videos). There’s a similar problem with Iframely (the YouTube video is OK but there’s a big blank area beneath it), but they have an option “Do not override default embed providers” that solves the problem. Unfortunately Embedly doesn’t have such an option. Does anyone know if I could force it somehow to do the same? (I have already contacted their support days ago but they never answered.)
Then, I thought to remove YouTube from the oEmbed providers list with
<?php wp_oembed_remove_provider( $format ) ?>
hoping that this would eliminate the conflict, since Embedly alone would handle YouTube links. I’m not sure what I did it wrong, because at first I pasted this code as a test:
<?php wp_oembed_remove_provider( ‘http://wordpress.tv/*’ ); ?>
(with the < >) in the wp-includes/media.php file at the end and it returned syntax error, unexpected ‘<‘. Then I tried:
wp_oembed_remove_provider( ‘http://wordpress.tv/*’ );
No error this time, but nothing changed. I could still post a link from wordpress.tv and a preview was generated. Can someone explain how to do this correctly? And do you think that if I remove YouTube from the providers it will solve the issue?
Finally, I found out about oEmbed Discovery. The documentation is not very clear, so I’m not even sure what exactly it is supposed to do if enabled. Does it allow content from any site to be embedded? Or does it have limitations too? And what does it mean “you can give unfiltered_html users (Administrators and Editors) the ability to embed”? If I used it, would I have to give every new user editor role so that they could post? Anyway, the thing is I installed the Enable oEmbed Discovery plugin, but absolutely nothing changed. I tried some test posts from various websites and only the link was posted as usual. Any idea what went wrong?
I tried all the above with network activation, per site activation, network and per site together, everything… but to no avail. Any help will be greatly appreciated because this is a huge problem for my site. Sorry for the long post, at least I hope it might help others too with similar issues. Lastly, if anyone proposes a solution which includes some code, please mention where I should paste it (I do have a bp-custom.php file).
Thanks in advance
-
I am reposting the same with the code parts fixed (I hope)
Wordpress Version: 4.9.6
Buddypress version: 3.0.0Hello,
I’ve been struggling for days with oEmbed, but I’m not a coder nor very experienced in WP so no luck yet. I want to be able to post on the activity stream from almost any source and generate a preview (same as on Facebook, Tumblr etc). First of all, even some major sites (Facebook, Flickr, Tumblr) from the WP whitelist do not generate a preview when posting a link in activity. A bug maybe? Also, Activity Plus and rtMedia are not solutions, because I tried them and both have problems. I should point out that I have multisite and BP Multi Network and have set BP_ENABLE_MULTIBLOG as true.
Two very good plugins are Iframely and Embedly. The problem with the first is that there’s a limit of embeds in the free version and it doesn’t support as many sites as I need. Embedly does, but here’s the problem. When activated, there seems to be a conflict with some of the default embed providers of BP, like Vimeo and Youtube. A preview is still generated, but it is only a dead image of the video. You cannot click play or click on the title and open the video in a new tab. So the plugin becomes essentially useless (nobody could afford to have a social network where users can’t post YouTube videos). There’s a similar problem with Iframely (the YouTube video is OK but there’s a big blank area beneath it), but they have an option “Do not override default embed providers” that solves the problem. Unfortunately Embedly doesn’t have such an option. Does anyone know if I could force it somehow to do the same? (I have already contacted their support days ago but they never answered.)
Then, I thought to remove YouTube from the oEmbed providers list with
<?php wp_oembed_remove_provider( $format ) ?>
hoping that this would eliminate the conflict, since Embedly alone would handle YouTube links. I’m not sure what I did it wrong, because at first I pasted this code as a test:
<?php wp_oembed_remove_provider( 'http://wordpress.tv/*' ); ?>
in the wp-includes/media.php file at the end and it returned syntax error, unexpected ‘<‘. Then I tried:
wp_oembed_remove_provider( 'http://wordpress.tv/*' );
No error this time, but nothing changed. I could still post a link from wordpress.tv and a preview was generated. Can someone explain how to do this correctly? And do you think that if I remove YouTube from the providers it will solve the issue?
Finally, I found out about oEmbed Discovery. The documentation is not very clear, so I’m not even sure what exactly it is supposed to do if enabled. Does it allow content from any site to be embedded? Or does it have limitations too? And what does it mean “you can give unfiltered_html users (Administrators and Editors) the ability to embed”? If I used it, would I have to give every new user editor role so that they could post? Anyway, the thing is I installed the Enable oEmbed Discovery plugin, but absolutely nothing changed. I tried some test posts from various websites and only the link was posted as usual. Any idea what went wrong?
I tried all the above with network activation, per site activation, network and per site together, everything… but to no avail. Any help will be greatly appreciated because this is a huge problem for my site. Sorry for the long post, at least I hope it might help others too with similar issues. Lastly, if anyone proposes a solution which includes some code, please mention where I should paste it (I do have a bp-custom.php file).
Thanks in advance
Ever figure this out?
https://wordpress.org/plugins/buddypress-activity-plus/ Please check this plugin.
Thanks
I’m trying to post an answer, but I’m getting “ERROR: Your reply cannot be created at this time.” Anybody have any idea what could be causing this?
You must be getting caught in moderation check.
Thanks for the suggested plugin! The plugin solved my problem but I noticed it doesn’t apply to groups. How to enable embedded videos on the groups feed?
- You must be logged in to reply to this topic.