这取决于您希望如何添加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“][/iframe]
。。。
或
。。。
[iframe id=“my iframe”附件\\u id=“193”][/iframe]
。。。
或
。。。
[iframe class=“my iframe”]<;p>;iframe中的我的段落</p>;[/iframe]
。。。
参考文献:W3C Wiki on iframe element, WP codex on shortcode api.