Wordpress encoded content to html - wordpress

I have to write a Wordpress WXR importer for a custom platform. Everything is working well except for iframe and embedded content.
When I export from Wordpress, I get embedded content as
YouTube[youtube=http://www.youtube.com/watch?v=pY8jaGs7xJ0]
Instead of
<iframe width="560" height="315" src="https://www.youtube.com/embed/VH4VPjzT4O0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
If it's just for youtube, I can manually write a parser, but I am not sure what kind of embeds I will run into.
How can I convert this Wordpress embed format to plain html ?
Note: I use Node.JS/Express and cannot use Wordpress functions.

Related

How to replace strings in the values of a particular custom field in all posts?

I have a custom field of name: embed, thousands of wordpress posts are with this custom field with its value of an external player:
<iframe width="560" height="315" src="https://www.youtube.com/embed/xxxxxxxxxxx" frameborder="0" gesture="media" allowfullscreen></iframe>
I need to modify these values from 560 to 700 and 315 to 450.
I have a problem in the layout of a project, because of these standard dimensions, I've made a change that requires this change:
<iframe width="700" height="450" src="https://www.youtube.com/embed/xxxxxxxxxxx" frameborder="0" gesture="media" allowfullscreen></iframe>
How to make this str_replace in the embed custom field in all wordpress posts?
I can display these values directly in post_content with the values I need, so another solution would be to avoid displaying this value of custom field embed in all posts to avoid two players.

WordPress Layer Slider YouTube video embbed

I have using Layer Slider WordPress plugin and added YouTube embed code snippet for showing YouTube video as one slide. i have using a code snippet like below in one layer of this slider,
<iframe width="1400" height="400" src="https://www.youtube.com/embed/E5ln4uR4TwQ?autoplay=0&rel=0&ecver=1" frameborder="0" allowfullscreen></iframe>
it's working. but how to set auto play stop option in video.
also tested the below code by placed &autoplay=0 at the end of the ID.
<iframe width="1400" height="400" src="https://www.youtube.com/embed/E5ln4uR4TwQ&autoplay=0&rel=0&ecver=1" frameborder="0" allowfullscreen></iframe>
Thanks
LayerSlider WP plugin has an option to autoload videos, which can be overriding the autoplay parameter of your embed video.
In the slider you want to put the video, go in the "Slider settings" tab and then choose the "Videos" submenu to enable or disable this option:

Include a dailymotion video in Cornerstone

I have a video on Dailymotion that I'd like to display on my Wordpress website (X-Theme with Cornerstone).
I use a Video Player element and when I paste the URL of the video in the SRC & Poster field no video is being displayed.
I don't know much about this so I am open to any suggestions. (Is there maybe an other element which is more appropriate for this ? )
I chose DailyMotion rather than Youtube because I need an annotation linking to a page from my website.
You need to use Embedded video feature of the x theme to integrate/add the dailymotion video:
Use the following code inside the Embedded video in the embed code section and replace the video ID.
<iframe frameborder="0" width="480" height="270"
src="//www.dailymotion.com/embed/video/xwr14q?autoplay=1&mute=1"
allowfullscreen></iframe>
Screenshot

iframes in Wordpress

I am trying to generate some embeddable iframe code so a user can include the code on a blog to display content I'm planning to deliver. Right now the content I'm trying to deliver is just a website. I am trying to use the following code on a Wordpress blog:
<iframe width="420" height="315" src="http://www.cnn.com" frameborder="0"></iframe>
However when the page is viewed Wordpress simply outputs a link for "http://www.cnn.com" based on the following html.
http://www.cnn.com
That said, if I use Youtube generated iframe code, the iframe loads fine. For example:
<iframe width="420" height="315" src="http://www.youtube.com/embed/_OBlgSz8sSM" frameborder="0" allowfullscreen></iframe>
results in:
<iframe class='youtube-player' type='text/html' width='420' height='315' src='http://www.youtube.com/embed/_OBlgSz8sSM?version=3&rel=1&fs=1&showsearch=0&showinfo=1&iv_load_policy=1&wmode=transparent' frameborder='0'></iframe>
Any idea what Youtube is doing to enable this functionality or more generally how to get my simply iframe to work.
I don't know why you get an anchor instead of the iframe, but I know that google don't want their homepage in iframes. If you would have an iframe with the src http://www.google.com, you would see an empty iframe. Also see this example.
=== UPDATE ===
Wordpress prohibits iframes with few exceptions. Probably you can handle it with shortcodes. Try adding following untested code into the functions.php in your theme.
// [iframe src="www.cnn.com"]
function iframe_func($atts) {
extract(shortcode_atts(array(
'src' => 'default'
), $atts));
return '<iframe src="{$src}"></iframe>';
}
add_shortcode('iframe', 'iframe_func');
Now you can add [iframe src="www.cnn.com"] in the article editor in the wordpress admin.
Creating a shortcode is the way I get around this problem. It bypasses the WYSIWYG editor and puts the html in the page.
I would approach it like this.
Add this to your functions.php file:
function add_iframe($atts) {
extract(shortcode_atts(array(
'src' => '/'
), $atts));
$theframe = '<iframe src="'.$src.'" width="420" height="315" frameborder="0"></iframe>';
return $theframe;
}
add_shortcode('iframe', 'add_iframe');
Useage:
Add [iframe src=http://thesiteyouwanttoshow.com] to the content where you want the iframe to show.
If you are loading your own web page within the iframe remember that most hosted solutions will have xFrame options set to SAMEORIGIN, so no matter what you change in Wordpress, the page will still not render as it is being blocked by the target website.
I spent hours with this problem so hopefully if you are having this issue you will the target website as well. If you are hosting a solution on rails the answer I found is here and a website that will definitely load in Wordpress can be found here, so feel free to use that endpoint as a test.
Google uses the X-Frame-Options header (set to SAMEORIGIN) to prevent you from placing it in an iframe. Getting around this would require the user to use a browser that doesn't support X-Frame-Options.
Unfortunately the major search engine sites such as google and yahoo (bing excluded) don't allow for iframe embedding since they offer a plethora of APIs and integration options. So there is really no real way for you to do this. If you are not planning on embedding google as your iframe source then you should be in the clear with the current code that you have in place. Try it out and just change the source to something else - google will not show up in its place. If you want a search engine there unfortunately it is with horror that I say that bing is the only one that works.
Hope this helps!
So in recap - Google does not embed in iframe, but other content that you produce should based on your coding:
example:
<iframe width="420" height="315" src="http://www.uncrate.com" frameborder="0"></iframe>
http://jsfiddle.net/pKby8/
The Anchor that you get is a result of the xFrame option. When it connects to the google servers the servers kick back a cute response hinting that you should link to them instead of iframe.
I would create a WordPress short_code that would insert your iFrame in the output. I think by adding the iFrame code directly in the post box wordpress is changing it.
http://codex.wordpress.org/Shortcode_API

Embed external video using Url Link in asp.net webpage

I have my external url link of a video in my sql server.How do I embed that video using my url link in asp.net page? Any suggestions will be helpfull.Thanks in advance.
Check out this article.
Basically, If those are youtube videos, you can do with code like this:
<iframe width="560"
height="315"
src="http://www.youtube.com/embed/fxCEcPxUbYA"
frameborder="0"
allowfullscreen></iframe>
In other cases, you can install a specific Helper to assist you.

Resources