edit.js
6 years ago
editor.scss
6 years ago
index.js
6 years ago
index.php
6 years ago
style.scss
6 years ago
index.php
67 lines
| 1 | <?php |
| 2 | |
| 3 | |
| 4 | /** |
| 5 | * Renders the `embedpress/youtube` block on server. |
| 6 | * |
| 7 | * @param array $attributes The block attributes. |
| 8 | * |
| 9 | * @return false|string |
| 10 | */ |
| 11 | function embedpress_gutenberg_render_block_youtube( $attributes ) |
| 12 | { |
| 13 | ob_start(); |
| 14 | $align = 'align' . ( isset( $attributes[ 'align' ] ) ? $attributes[ 'align' ] : 'center' ); |
| 15 | $youtube_params = apply_filters( 'embedpress_gutenberg_youtube_params', [] ); |
| 16 | $iframeUrl = $attributes[ 'iframeSrc' ]; |
| 17 | foreach ( $youtube_params as $param => $value ) { |
| 18 | $iframeUrl = add_query_arg( $param, $value, $iframeUrl ); |
| 19 | } |
| 20 | |
| 21 | ?> |
| 22 | <div class="ose-youtube wp-block-embed-youtube <?php echo $align; ?>"> |
| 23 | <iframe src="<?php echo $iframeUrl; ?>" |
| 24 | allowtransparency="true" |
| 25 | allowfullscreen="true" |
| 26 | frameborder="0" |
| 27 | width="640" height="360"> |
| 28 | </iframe> |
| 29 | </div> |
| 30 | <?php |
| 31 | return ob_get_clean(); |
| 32 | } |
| 33 | |
| 34 | /** |
| 35 | * Registers the `embedpress/youtube-block` block on server. |
| 36 | */ |
| 37 | function embedpress_gutenberg_register_block_youtube() |
| 38 | { |
| 39 | if ( function_exists( 'register_block_type' ) ) : |
| 40 | register_block_type( 'embedpress/youtube-block', [ |
| 41 | 'style' => 'embedpress_youtube-cgb-style-css', |
| 42 | // Enqueue blocks.build.js in the editor only. |
| 43 | 'editor_script' => 'embedpress_youtube-cgb-block-js', |
| 44 | // Enqueue blocks.editor.build.css in the editor only. |
| 45 | 'editor_style' => 'embedpress_youtube-cgb-block-editor-css', |
| 46 | |
| 47 | 'attributes' => [ |
| 48 | 'url' => [ |
| 49 | 'type' => 'string', |
| 50 | 'default' => '' |
| 51 | ], |
| 52 | 'iframeSrc' => [ |
| 53 | 'type' => 'string', |
| 54 | 'default' => '' |
| 55 | ], |
| 56 | 'mediaId' => [ |
| 57 | 'type' => 'string', |
| 58 | 'default' => '' |
| 59 | ] |
| 60 | ], |
| 61 | 'render_callback' => 'embedpress_gutenberg_render_block_youtube', |
| 62 | ] ); |
| 63 | endif; |
| 64 | } |
| 65 | |
| 66 | add_action( 'init', 'embedpress_gutenberg_register_block_youtube' ); |
| 67 |