RWMB_URL ) ); } /** * Add actions * * @return void */ static function add_actions() { // Attach images via Ajax add_action( 'wp_ajax_rwmb_get_embed', array( __CLASS__, 'wp_ajax_get_embed' ) ); } /** * Ajax callback for returning oEmbed HTML * * @return void */ static function wp_ajax_get_embed() { global $post; $url = isset( $_POST['oembed_url'] ) ? $_POST['oembed_url'] : 0; $post_id = is_numeric( $_REQUEST['post_id'] ) ? (int) $_REQUEST['post_id'] : 0; if ( isset( $_REQUEST['post_id'] ) ) $post = get_post( $_REQUEST['post_id'] ); $embed = self::get_embed( $url ); RW_Meta_Box::ajax_response( $embed, 'success' ); exit; } /*** * Get embed html from url * @param string $url * $return string */ static function get_embed( $url ) { $embed = wp_oembed_get( esc_url( $url ) ); if( $embed ) { return $embed; } else { return 'Embed not available.'; } } /** * Get field HTML * * @param string $html * @param mixed $meta * @param array $field * * @return string */ static function html( $html, $meta, $field ) { return sprintf( ' Show embed
', $field['field_name'], $field['id'], $meta, $field['size'], self::get_embed( $meta ) ); } } }