Intereting Posts
Измените пользователя с роли, которая позволяет создавать сообщения Изменить название сайта и описание html-тегов, если не домашняя страница Еще один get_posts () в явно заданной задаче порядка woocommerce hook опубликует продукт После завершения создания сайта на localhost, как мне передать все на сервер клиента? Заказать таможенную таксономию по дате Как получить прикрепленные файлы в шаблоне формата публикации галереи Одновременно публикуйте как WordPress.com, так и самостоятельно размещенный блог WordPress Форма ответа типа отличается от формы комментария Группировка CPT и таксономии в группы меню в admin Можно переключаться между правами администратора и авторским взглядом? Различные значения для get_author_posts_url и get_the_author (сообщения 2 сообщения) усекать сообщение с тегом галереи PHP, если сообщение уже отображается, тогда Функция проверки URL-адреса в плагине

Как создать короткий код для встраивания pdf в iframe?

Главная Информация

Я создаю сайт с WordPress. Для содержимого я хочу, чтобы файлы PDF могли быть встроены в iframe. Поэтому я сначала создал функцию WordPress, чтобы подключиться к media_send_to_editor , но проблема с этой функцией заключается в том, что iframe зарезервирует много места в визуальном редакторе WP, поэтому другое редактирование этой страницы не подходит для удобства использования.

Поэтому я подумал, что мне нужно найти короткий код для вставки файла PDF внутри iframe.

проблема

Я пытаюсь создать короткий код WordPress, который получит src файла PDF и вставляет его внутри атрибута src, поэтому PDF будет отображаться внутри iframe. Только нижеприведенный фрагмент кода даст мне белый экран WordPress, который больше не работает.

Следите за советами. Спасибо.

 function embed_pdf_files( $atts, $content = null ) { extract(shortcode_atts(array( $src = wp_get_attachment_url(); ), $atts)); return '<iframe width="100%" height="1000" src="' . $content . '"></iframe>'; } add_shortcode( 'embed_pdf' , 'embed_pdf_files' ); 

Solutions Collecting From Web of "Как создать короткий код для встраивания pdf в iframe?"

Это зависит от того, как вы хотите добавить PDF-файлы, но это, вероятно, должно быть обложкой:

 function embed_pdf_files( $atts, $content = null ){ //add default attributes here. $defaults = array( //'width' => '100%', //'height' => '1000' ); //This overwrites defaults with the attributes in shortcode $a = shortcode_atts( $defaults, $atts ); $src = $a['src']; //If no src present, get src by attachment id if( ! $src && $a['attachment_id'] ){ $src = get_attachment_link( $a['attachment_id'] ); } //If no src or content (srcdoc), return nothing. if( ! $src && ! $content ){ return ''; } //Comment out/in the attributes you want to allow the editor control over $html_attrs = ''; //src $html_attrs .= $src ? ' src="' . esc_attr( $a['src'] ) . '"' : ''; //srcdoc $html_attrs .= ( ! $src && $content ) ? ' srcdoc="' . esc_attr( $content ) . '"' : ''; //width $html_attrs .= $a['width'] ? ' width="' . esc_attr( $a['width'] ) . '"' : ''; //height $html_attrs .= $a['height'] ? ' height="' . esc_attr( $a['height'] ) . '"' : ''; //seamless $html_attrs .= array_key_exists( 'seamless', $a ) ? ' seamless' : ''; //name //$html_attrs .= $a['name'] ? ' name="' . esc_attr( $a['name'] ) . '"' : ''; //sandbox //$html_attrs .= $a['sandbox'] ? ' sandbox="' . esc_attr( $a['sandbox'] ) . '"' : ''; //These are the global html tag attributes - remove any you don't want editable $global_attrs = array( 'accesskey', 'class', 'contenteditable', 'contextmenu', 'dir', 'draggable', 'hidden', 'id', 'lang', 'spellcheck', 'style', 'tabindex', 'title' ); for( $i = 0; $i < count( $global_attrs ); $i++ ){ $html_attrs .= array_key_exists( $global_attrs[$i], $a ) ? ' ' . $global_attrs[$i] . '="' . esc_attr( $a[ $global_attrs[$i] ] ) . '"' : ''; } return '<iframe' . $html_attrs . '></iframe>'; } add_shortcode( 'embed_pdf', 'embed_pdf_files' ); 

Это должно быть в ваших функциях.php или в вашем собственном плагине или где-то подобном.

Я прокомментировал атрибуты, которые могут быть потенциально опасными, но если они вам нужны, они есть.

Затем редактор может использовать что-то вроде этого:

[iframe class = "my-iframe" src = "http://example.com/mypdf.pdf"%5D [/ iframe]

или

[iframe id = "my-iframe" attachment_id = "193"] [/ iframe]

или

[iframe class = "my-iframe"] <p> Мой параграф в iframe </ p> [/ iframe]

Ссылки: W3C Wiki по элементу iframe , WP codex на shortcode api .