init
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
/**
|
||||
* Embed support for Inline PDFs
|
||||
*
|
||||
* Takes a plain-text PDF URL (*.pdf), and attempts to embed it directly
|
||||
* in the post instead of leaving it as a bare link.
|
||||
*
|
||||
* @package automattic/jetpack
|
||||
*/
|
||||
|
||||
wp_embed_register_handler( 'inline-pdfs', '#https?://[^<]*\.pdf$#i', 'jetpack_inline_pdf_embed_handler' );
|
||||
|
||||
/**
|
||||
* Callback to modify the output of embedded PDF files.
|
||||
*
|
||||
* @param array $matches Regex partial matches against the URL passed.
|
||||
* @param array $attr Attributes received in embed response.
|
||||
* @param array $url Requested URL to be embedded.
|
||||
*/
|
||||
function jetpack_inline_pdf_embed_handler( $matches, $attr, $url ) {
|
||||
/** This action is documented in modules/widgets/social-media-icons.php */
|
||||
do_action( 'jetpack_bump_stats_extras', 'embeds', 'inline-pdf' );
|
||||
|
||||
$filename = basename( wp_parse_url( $url, PHP_URL_PATH ) );
|
||||
$fallback_text = sprintf(
|
||||
/* translators: Placeholder is a file name, for example "file.pdf" */
|
||||
esc_html__( 'Click to access %1$s', 'jetpack' ),
|
||||
$filename
|
||||
);
|
||||
|
||||
return sprintf(
|
||||
'<p><a href="%1$s" target="_blank" rel="noopener noreferrer nofollow">%2$s</a></p>',
|
||||
esc_url( $url ),
|
||||
$fallback_text
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user