Created
February 28, 2012 22:23
-
-
Save moskowite/1935689 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* | |
Plugin Name: Make Project's oEmbed | |
Plugin URI: http://makeprojects.com/ | |
Description: Embed a Make Project into your Wordpress blog, just copy and paste the URL of the project (e.g. http://makeprojects.com/Project/Build-a-Makerspace/1390/1 ). This plugin will automatically embed using wp_oembed_add_provider. Enjoy a interactive Make Project's experience right in your blog. | |
Author: whyisjake, tmoskowite | |
Version: 1.0 | |
Author URI: www.makezine.com | |
*/ | |
// Wordpress oEmbed function | |
wp_oembed_add_provider( 'http://makeprojects.com/Project/*' , 'http://makeprojects.com/Embed' ); | |
// oEmbed finder which corrects the URL and accounts for multiple links in one post | |
function makeprojects_oembed_finder($content){ | |
// url search and correction strings | |
$htmlSrc = 'src="http://cacher.dozuki.net/static/embed/ifixit-embed.3.js?id='; | |
$htmlAdd = '&site=makeprojects.com" data-dozuki-embed="3'; | |
$idOffset = 4; | |
// find the url | |
$pos = strpos($content, $htmlSrc); | |
$srcLen = strlen($htmlSrc) + $idOffset; | |
// loop and make corrections until out of links | |
while($pos !== false){ | |
$uniqueHtml = substr($content, $pos, $srcLen); | |
$newHtml = $uniqueHtml . $htmlAdd; | |
$content = str_replace($uniqueHtml, $newHtml, $content); | |
$pos = strpos($content, $htmlSrc, $pos + $srcLen); | |
} | |
return $content; | |
} | |
add_filter('the_content', 'makeprojects_oembed_finder'); | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment