Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 12
0.00% covered (danger)
0.00%
0 / 1
CRAP
n/a
0 / 0
jetpack_houzz_shortcode
0.00% covered (danger)
0.00%
0 / 8
0.00% covered (danger)
0.00%
0 / 1
30
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
14if ( ! defined( 'ABSPATH' ) ) {
15    exit( 0 );
16}
17
18// Register oEmbed provider.
19wp_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 */
26function 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}
38add_shortcode( 'houzz', 'jetpack_houzz_shortcode' );