| @@ -1,0 +1,38 @@ | ||
| 1 | +<?php | |
| 2 | +/** | |
| 3 | + * Houzz Embed | |
| 4 | + * | |
| 5 | + * Examples: | |
| 6 | + * Post content: | |
| 7 | + * - [houzz=http://www.houzz.com/pro/james-crisp] | |
| 8 | + * - http://www.houzz.com/pro/james-crisp | |
| 9 | + * Blog sidebar: [houzz=http://www.houzz.com/profile/alon w=200 h=300] | |
| 10 | + * | |
| 11 | + * @package automattic/jetpack | |
| 12 | + */ | |
| 13 | + | |
| 14 | +if ( ! defined( 'ABSPATH' ) ) { | |
| 15 | + exit( 0 ); | |
| 16 | +} | |
| 17 | + | |
| 18 | +// Register oEmbed provider. | |
| 19 | +wp_oembed_add_provider( '#https?://(.+?\.)?houzz\.(com|co\.uk|com\.au|de|fr|ru|jp|it|es|dk|se)/.*#i', 'https://www.houzz.com/oembed', true ); | |
| 20 | + | |
| 21 | +/** | |
| 22 | + * Display shortcode | |
| 23 | + * | |
| 24 | + * @param array $atts Shortcode attributes. | |
| 25 | + */ | |
| 26 | +function jetpack_houzz_shortcode( $atts ) { | |
| 27 | + $url = substr( $atts[0], 1 ); | |
| 28 | + $args = array(); | |
| 29 | + if ( isset( $atts['w'] ) && is_numeric( $atts['w'] ) ) { | |
| 30 | + $args['width'] = $atts['w']; | |
| 31 | + } | |
| 32 | + if ( isset( $atts['h'] ) && is_numeric( $atts['h'] ) ) { | |
| 33 | + $args['height'] = $atts['h']; | |
| 34 | + } | |
| 35 | + $oembed = _wp_oembed_get_object(); | |
| 36 | + return $oembed->get_html( $url, $args ); | |
| 37 | +} | |
| 38 | +add_shortcode( 'houzz', 'jetpack_houzz_shortcode' ); | |