# jetpack/16.2/modules/shortcodes/inline-pdfs.php

Jetpack – WP Security, Backup, Speed, &amp; Growth, version 16.2. 41 lines.

- Page: https://pluginprobe.com/plugins/jetpack/16.2/code/modules/shortcodes/inline-pdfs.php
- Raw: https://pluginprobe.com/plugins/jetpack/16.2/raw/modules/shortcodes/inline-pdfs.php
- Modified: 2025-11-24T17:00:32+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/jetpack/16.2/code/modules/shortcodes/inline-pdfs.php#L10-L20`.

```php
<?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
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit( 0 );
}

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
	);
}

```
