Edit File by line
/home/zeestwma/richards.../wp-conte.../plugins/jetpack/modules/shortcod...
File: pinterest.php
<?php
[0] Fix | Delete
/**
[1] Fix | Delete
* Pinterest embeds
[2] Fix | Delete
*
[3] Fix | Delete
* Based on "Board Widget" example here: http://business.pinterest.com/widget-builder/#code
[4] Fix | Delete
*
[5] Fix | Delete
* Example URL: https://pinterest.com/pin/129056345550241149/
[6] Fix | Delete
* Second Example URL: https://uk.pinterest.com/annsawesomepins/travel/
[7] Fix | Delete
*
[8] Fix | Delete
* @package automattic/jetpack
[9] Fix | Delete
*/
[10] Fix | Delete
[11] Fix | Delete
if ( ! defined( 'ABSPATH' ) ) {
[12] Fix | Delete
exit( 0 );
[13] Fix | Delete
}
[14] Fix | Delete
[15] Fix | Delete
wp_embed_register_handler(
[16] Fix | Delete
'pinterest',
[17] Fix | Delete
'#'
[18] Fix | Delete
. 'https?://'
[19] Fix | Delete
. '(?:www\.)?'
[20] Fix | Delete
. '(?:[a-z]{2}\.)?'
[21] Fix | Delete
. 'pinterest\.[a-z.]+/'
[22] Fix | Delete
. '([^/]+)'
[23] Fix | Delete
. '(/[^/]+)?'
[24] Fix | Delete
. '#',
[25] Fix | Delete
'pinterest_embed_handler'
[26] Fix | Delete
);
[27] Fix | Delete
[28] Fix | Delete
/**
[29] Fix | Delete
* Callback to modify output of embedded Pinterest posts.
[30] Fix | Delete
*
[31] Fix | Delete
* @param array $matches Regex partial matches against the URL passed.
[32] Fix | Delete
* @param array $attr Attributes received in embed response.
[33] Fix | Delete
* @param array $url Requested URL to be embedded.
[34] Fix | Delete
*/
[35] Fix | Delete
function pinterest_embed_handler( $matches, $attr, $url ) {
[36] Fix | Delete
// Pinterest's JS handles making the embed.
[37] Fix | Delete
$script_src = '//assets.pinterest.com/js/pinit.js';
[38] Fix | Delete
[39] Fix | Delete
wp_enqueue_script( 'pinterest-embed', $script_src, array(), JETPACK__VERSION, true );
[40] Fix | Delete
[41] Fix | Delete
$path = wp_parse_url( $url, PHP_URL_PATH );
[42] Fix | Delete
if ( str_starts_with( $path, '/pin/' ) ) {
[43] Fix | Delete
$embed_type = 'embedPin';
[44] Fix | Delete
} elseif ( preg_match( '#^/([^/]+)/?$#', $path ) ) {
[45] Fix | Delete
$embed_type = 'embedUser';
[46] Fix | Delete
} elseif ( preg_match( '#^/([^/]+)/([^/]+)/?$#', $path ) ) {
[47] Fix | Delete
$embed_type = 'embedBoard';
[48] Fix | Delete
} else {
[49] Fix | Delete
if ( current_user_can( 'edit_posts' ) ) {
[50] Fix | Delete
return __( 'Sorry, that Pinterest URL was not recognized.', 'jetpack' );
[51] Fix | Delete
}
[52] Fix | Delete
return;
[53] Fix | Delete
}
[54] Fix | Delete
[55] Fix | Delete
$return = sprintf( '<a data-pin-do="%s" href="%s"></a>', esc_attr( $embed_type ), esc_url( $url ) );
[56] Fix | Delete
[57] Fix | Delete
// If we're generating an embed view for the WordPress Admin via ajax.
[58] Fix | Delete
if ( doing_action( 'wp_ajax_parse-embed' ) ) {
[59] Fix | Delete
$return .= sprintf(
[60] Fix | Delete
'<script src="%s"></script>', // phpcs:ignore WordPress.WP.EnqueuedResources.NonEnqueuedScript
[61] Fix | Delete
esc_url( $script_src )
[62] Fix | Delete
);
[63] Fix | Delete
}
[64] Fix | Delete
[65] Fix | Delete
return $return;
[66] Fix | Delete
}
[67] Fix | Delete
[68] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function