/
home
/
altere25
/
sportzsoft.altereddigital.com
/
wp-includes
/
/home/altere25/sportzsoft.altereddigital.com/wp-includes
mkdir
upload
Name
Size
Mode
Actions
assets/
-
0755
rm
block-patterns/
-
0755
rm
block-supports/
-
0755
rm
blocks/
-
0755
rm
certificates/
-
0755
rm
css/
-
0755
rm
customize/
-
0755
rm
fonts/
-
0755
rm
html-api/
-
0755
rm
ID3/
-
0755
rm
images/
-
0755
rm
IXR/
-
0755
rm
js/
-
0755
rm
php-compat/
-
0755
rm
PHPMailer/
-
0755
rm
pomo/
-
0755
rm
Requests/
-
0755
rm
rest-api/
-
0755
rm
SimplePie/
-
0755
rm
sitemaps/
-
0755
rm
sodium_compat/
-
0755
rm
style-engine/
-
0755
rm
Text/
-
0755
rm
theme-compat/
-
0755
rm
widgets/
-
0755
rm
.htaccess
178
0644
edit
dl
rm
admin-bar.php
35996
0644
edit
dl
rm
atomlib.php
11950
0644
edit
dl
rm
author-template.php
18951
0644
edit
dl
rm
block-editor.php
27923
0644
edit
dl
rm
block-i18n.json
316
0644
edit
dl
rm
block-patterns.php
12942
0644
edit
dl
rm
block-template-utils.php
48484
0644
edit
dl
rm
block-template.php
12288
0644
edit
dl
rm
blocks.php
72884
0644
edit
dl
rm
bookmark-template.php
12909
0644
edit
dl
rm
bookmark.php
15378
0644
edit
dl
rm
cache-compat.php
5969
0644
edit
dl
rm
cache.php
13474
0644
edit
dl
rm
canonical.php
34460
0644
edit
dl
rm
capabilities.php
40026
0644
edit
dl
rm
category-template.php
57003
0644
edit
dl
rm
category.php
12709
0644
edit
dl
rm
class-feed.php
529
0644
edit
dl
rm
class-http.php
367
0644
edit
dl
rm
class-IXR.php
2543
0644
edit
dl
rm
class-json.php
43684
0644
edit
dl
rm
class-oembed.php
401
0644
edit
dl
rm
class-phpass.php
6708
0644
edit
dl
rm
class-phpmailer.php
664
0644
edit
dl
rm
class-pop3.php
20969
0644
edit
dl
rm
class-requests.php
2237
0644
edit
dl
rm
class-simplepie.php
98124
0644
edit
dl
rm
class-smtp.php
457
0644
edit
dl
rm
class-snoopy.php
37715
0644
edit
dl
rm
class-walker-category-dropdown.php
2469
0644
edit
dl
rm
class-walker-category.php
8477
0644
edit
dl
rm
class-walker-comment.php
14213
0644
edit
dl
rm
class-walker-nav-menu.php
11313
0644
edit
dl
rm
class-walker-page-dropdown.php
2710
0644
edit
dl
rm
class-walker-page.php
7612
0644
edit
dl
rm
class-wp-admin-bar.php
17364
0644
edit
dl
rm
class-wp-ajax-response.php
5266
0644
edit
dl
rm
class-wp-application-passwords.php
12854
0644
edit
dl
rm
class-wp-block-editor-context.php
1350
0644
edit
dl
rm
class-wp-block-list.php
4773
0644
edit
dl
rm
class-wp-block-parser-block.php
2555
0644
edit
dl
rm
class-wp-block-parser-frame.php
1916
0644
edit
dl
rm
class-wp-block-parser.php
11532
0644
edit
dl
rm
class-wp-block-pattern-categories-registry.php
5371
0644
edit
dl
rm
class-wp-block-patterns-registry.php
10077
0644
edit
dl
rm
class-wp-block-styles-registry.php
5883
0644
edit
dl
rm
class-wp-block-supports.php
5519
0644
edit
dl
rm
class-wp-block-template.php
1951
0644
edit
dl
rm
class-wp-block-type-registry.php
5013
0644
edit
dl
rm
class-wp-block-type.php
14743
0644
edit
dl
rm
class-wp-block.php
8401
0644
edit
dl
rm
class-wp-classic-to-block-menu-converter.php
4088
0644
edit
dl
rm
class-wp-comment-query.php
47829
0644
edit
dl
rm
class-wp-comment.php
9372
0644
edit
dl
rm
class-wp-customize-control.php
25842
0644
edit
dl
rm
class-wp-customize-manager.php
202257
0644
edit
dl
rm
class-wp-customize-nav-menus.php
57566
0644
edit
dl
rm
class-wp-customize-panel.php
10670
0644
edit
dl
rm
class-wp-customize-section.php
11244
0644
edit
dl
rm
class-wp-customize-setting.php
29889
0644
edit
dl
rm
class-wp-customize-widgets.php
71612
0644
edit
dl
rm
class-wp-date-query.php
35719
0644
edit
dl
rm
class-wp-dependencies.php
14062
0644
edit
dl
rm
class-wp-dependency.php
2627
0644
edit
dl
rm
class-wp-duotone.php
39443
0644
edit
dl
rm
class-wp-editor.php
72084
0644
edit
dl
rm
class-wp-embed.php
15994
0644
edit
dl
rm
class-wp-error.php
7502
0644
edit
dl
rm
class-wp-fatal-error-handler.php
7872
0644
edit
dl
rm
class-wp-feed-cache-transient.php
2586
0644
edit
dl
rm
class-wp-feed-cache.php
969
0644
edit
dl
rm
class-wp-hook.php
16000
0644
edit
dl
rm
class-wp-http-cookie.php
7389
0644
edit
dl
rm
class-wp-http-curl.php
12541
0644
edit
dl
rm
class-wp-http-encoding.php
6689
0644
edit
dl
rm
class-wp-http-ixr-client.php
3506
0644
edit
dl
rm
class-wp-http-proxy.php
5980
0644
edit
dl
rm
class-wp-http-requests-hooks.php
2022
0644
edit
dl
rm
class-wp-http-requests-response.php
4400
0644
edit
dl
rm
class-wp-http-response.php
2977
0644
edit
dl
rm
class-wp-http-streams.php
16859
0644
edit
dl
rm
class-wp-http.php
40585
0644
edit
dl
rm
class-wp-image-editor-gd.php
17525
0644
edit
dl
rm
class-wp-image-editor-imagick.php
37639
0644
edit
dl
rm
class-wp-image-editor.php
17584
0644
edit
dl
rm
class-wp-list-util.php
7443
0644
edit
dl
rm
class-wp-locale-switcher.php
6561
0644
edit
dl
rm
class-wp-locale.php
16115
0644
edit
dl
rm
class-wp-matchesmapregex.php
1826
0644
edit
dl
rm
class-wp-meta-query.php
30533
0644
edit
dl
rm
class-wp-metadata-lazyloader.php
6833
0644
edit
dl
rm
class-wp-navigation-fallback.php
9211
0644
edit
dl
rm
class-wp-network-query.php
19291
0644
edit
dl
rm
class-wp-network.php
12189
0644
edit
dl
rm
class-wp-object-cache.php
17605
0644
edit
dl
rm
class-wp-oembed-controller.php
6879
0644
edit
dl
rm
class-wp-oembed.php
31394
0644
edit
dl
rm
class-wp-paused-extensions-storage.php
5062
0644
edit
dl
rm
class-wp-post-type.php
29978
0644
edit
dl
rm
class-wp-post.php
6484
0644
edit
dl
rm
class-wp-query.php
151582
0644
edit
dl
rm
class-wp-recovery-mode-cookie-service.php
6877
0644
edit
dl
rm
class-wp-recovery-mode-email-service.php
11183
0644
edit
dl
rm
class-wp-recovery-mode-key-service.php
4501
0644
edit
dl
rm
class-wp-recovery-mode-link-service.php
3463
0644
edit
dl
rm
class-wp-recovery-mode.php
11435
0644
edit
dl
rm
class-wp-rewrite.php
63430
0644
edit
dl
rm
class-wp-role.php
2523
0644
edit
dl
rm
class-wp-roles.php
8580
0644
edit
dl
rm
class-wp-scripts.php
28663
0644
edit
dl
rm
class-wp-session-tokens.php
7451
0644
edit
dl
rm
class-wp-simplepie-file.php
3377
0644
edit
dl
rm
class-wp-simplepie-sanitize-kses.php
1770
0644
edit
dl
rm
class-wp-site-query.php
31020
0644
edit
dl
rm
class-wp-site.php
7454
0644
edit
dl
rm
class-wp-styles.php
10898
0644
edit
dl
rm
class-wp-tax-query.php
19545
0644
edit
dl
rm
class-wp-taxonomy.php
18567
0644
edit
dl
rm
class-wp-term-query.php
41015
0644
edit
dl
rm
class-wp-term.php
5298
0644
edit
dl
rm
class-wp-text-diff-renderer-inline.php
829
0644
edit
dl
rm
class-wp-text-diff-renderer-table.php
18807
0644
edit
dl
rm
class-wp-textdomain-registry.php
5976
0644
edit
dl
rm
class-wp-theme-json-data.php
1553
0644
edit
dl
rm
class-wp-theme-json-resolver.php
24641
0644
edit
dl
rm
class-wp-theme-json-schema.php
4223
0644
edit
dl
rm
class-wp-theme-json.php
129558
0644
edit
dl
rm
class-wp-theme.php
64267
0644
edit
dl
rm
class-wp-user-meta-session-tokens.php
2990
0644
edit
dl
rm
class-wp-user-query.php
43391
0644
edit
dl
rm
class-wp-user-request.php
2222
0644
edit
dl
rm
class-wp-user.php
22762
0644
edit
dl
rm
class-wp-walker.php
13166
0644
edit
dl
rm
class-wp-widget-factory.php
3347
0644
edit
dl
rm
class-wp-widget.php
18386
0644
edit
dl
rm
class-wp-xmlrpc-server.php
214140
0644
edit
dl
rm
class-wp.php
26119
0644
edit
dl
rm
class-wpdb.php
119457
0644
edit
dl
rm
class.wp-dependencies.php
373
0644
edit
dl
rm
class.wp-scripts.php
343
0644
edit
dl
rm
class.wp-styles.php
338
0644
edit
dl
rm
comment-template.php
101432
0644
edit
dl
rm
comment.php
129112
0644
edit
dl
rm
compat.php
15219
0644
edit
dl
rm
cron.php
41473
0644
edit
dl
rm
date.php
400
0644
edit
dl
rm
default-constants.php
11171
0644
edit
dl
rm
default-filters.php
34506
0644
edit
dl
rm
default-widgets.php
2222
0644
edit
dl
rm
deprecated.php
183809
0644
edit
dl
rm
embed-template.php
338
0644
edit
dl
rm
embed.php
37659
0644
edit
dl
rm
error-protection.php
4121
0644
edit
dl
rm
feed-atom-comments.php
5451
0644
edit
dl
rm
feed-atom.php
3048
0644
edit
dl
rm
feed-rdf.php
2668
0644
edit
dl
rm
feed-rss.php
1189
0644
edit
dl
rm
feed-rss2-comments.php
4080
0644
edit
dl
rm
feed-rss2.php
3799
0644
edit
dl
rm
feed.php
23057
0644
edit
dl
rm
fonts.php
2338
0644
edit
dl
rm
formatting.php
334991
0644
edit
dl
rm
functions.php
276285
0644
edit
dl
rm
functions.wp-scripts.php
14759
0644
edit
dl
rm
functions.wp-styles.php
8583
0644
edit
dl
rm
general-template.php
167724
0644
edit
dl
rm
global-styles-and-settings.php
20205
0644
edit
dl
rm
http.php
25624
0644
edit
dl
rm
https-detection.php
5661
0644
edit
dl
rm
https-migration.php
4741
0644
edit
dl
rm
kses.php
72065
0644
edit
dl
rm
l10n.php
62783
0644
edit
dl
rm
link-template.php
156075
0644
edit
dl
rm
load.php
54129
0644
edit
dl
rm
locale.php
162
0644
edit
dl
rm
media-template.php
61821
0644
edit
dl
rm
media.php
207426
0644
edit
dl
rm
meta.php
64078
0644
edit
dl
rm
ms-blogs.php
25628
0644
edit
dl
rm
ms-default-constants.php
4900
0644
edit
dl
rm
ms-default-filters.php
6636
0644
edit
dl
rm
ms-deprecated.php
21758
0644
edit
dl
rm
ms-files.php
2711
0644
edit
dl
rm
ms-functions.php
91258
0644
edit
dl
rm
ms-load.php
19870
0644
edit
dl
rm
ms-network.php
3782
0644
edit
dl
rm
ms-settings.php
4124
0644
edit
dl
rm
ms-site.php
40502
0644
edit
dl
rm
nav-menu-template.php
25785
0644
edit
dl
rm
nav-menu.php
44052
0644
edit
dl
rm
option.php
91340
0644
edit
dl
rm
pluggable-deprecated.php
6263
0644
edit
dl
rm
pluggable.php
113021
0644
edit
dl
rm
plugin.php
35465
0644
edit
dl
rm
post-formats.php
7100
0644
edit
dl
rm
post-template.php
66793
0644
edit
dl
rm
post-thumbnail-template.php
10308
0644
edit
dl
rm
post.php
278320
0644
edit
dl
rm
query.php
37035
0644
edit
dl
rm
registration-functions.php
200
0644
edit
dl
rm
registration.php
200
0644
edit
dl
rm
rest-api.php
97144
0644
edit
dl
rm
revision.php
30905
0644
edit
dl
rm
rewrite.php
19514
0644
edit
dl
rm
robots-template.php
5185
0644
edit
dl
rm
rss-functions.php
255
0644
edit
dl
rm
rss.php
23015
0644
edit
dl
rm
script-loader.php
130079
0644
edit
dl
rm
session.php
258
0644
edit
dl
rm
shortcodes.php
23856
0644
edit
dl
rm
sitemaps.php
3238
0644
edit
dl
rm
spl-autoload-compat.php
441
0644
edit
dl
rm
style-engine.php
7200
0644
edit
dl
rm
taxonomy.php
173528
0644
edit
dl
rm
template-canvas.php
544
0644
edit
dl
rm
template-loader.php
3350
0644
edit
dl
rm
template.php
23525
0644
edit
dl
rm
theme-i18n.json
1151
0644
edit
dl
rm
theme-previews.php
2826
0644
edit
dl
rm
theme-templates.php
6223
0644
edit
dl
rm
theme.json
7303
0644
edit
dl
rm
theme.php
131209
0644
edit
dl
rm
update.php
36824
0644
edit
dl
rm
user.php
171798
0644
edit
dl
rm
vars.php
6202
0644
edit
dl
rm
version.php
929
0644
edit
dl
rm
widgets.php
69875
0644
edit
dl
rm
wp-db.php
445
0644
edit
dl
rm
wp-diff.php
647
0644
edit
dl
rm
Edit:
/home/altere25/sportzsoft.altereddigital.com/wp-includes/class-wp-embed.php
(15994B)
<?php /** * API for easily embedding rich media such as videos and images into content. * * @package WordPress * @subpackage Embed * @since 2.9.0 */ #[AllowDynamicProperties] class WP_Embed { public $handlers = array(); public $post_ID; public $usecache = true; public $linkifunknown = true; public $last_attr = array(); public $last_url = ''; /** * When a URL cannot be embedded, return false instead of returning a link * or the URL. * * Bypasses the {@see 'embed_maybe_make_link'} filter. * * @var bool */ public $return_false_on_fail = false; /** * Constructor */ public function __construct() { // Hack to get the [embed] shortcode to run before wpautop(). add_filter( 'the_content', array( $this, 'run_shortcode' ), 8 ); add_filter( 'widget_text_content', array( $this, 'run_shortcode' ), 8 ); add_filter( 'widget_block_content', array( $this, 'run_shortcode' ), 8 ); // Shortcode placeholder for strip_shortcodes(). add_shortcode( 'embed', '__return_false' ); // Attempts to embed all URLs in a post. add_filter( 'the_content', array( $this, 'autoembed' ), 8 ); add_filter( 'widget_text_content', array( $this, 'autoembed' ), 8 ); add_filter( 'widget_block_content', array( $this, 'autoembed' ), 8 ); // After a post is saved, cache oEmbed items via Ajax. add_action( 'edit_form_advanced', array( $this, 'maybe_run_ajax_cache' ) ); add_action( 'edit_page_form', array( $this, 'maybe_run_ajax_cache' ) ); } /** * Processes the [embed] shortcode. * * Since the [embed] shortcode needs to be run earlier than other shortcodes, * this function removes all existing shortcodes, registers the [embed] shortcode, * calls do_shortcode(), and then re-registers the old shortcodes. * * @global array $shortcode_tags * * @param string $content Content to parse. * @return string Content with shortcode parsed. */ public function run_shortcode( $content ) { global $shortcode_tags; // Back up current registered shortcodes and clear them all out. $orig_shortcode_tags = $shortcode_tags; remove_all_shortcodes(); add_shortcode( 'embed', array( $this, 'shortcode' ) ); // Do the shortcode (only the [embed] one is registered). $content = do_shortcode( $content, true ); // Put the original shortcodes back. $shortcode_tags = $orig_shortcode_tags; return $content; } /** * If a post/page was saved, then output JavaScript to make * an Ajax request that will call WP_Embed::cache_oembed(). */ public function maybe_run_ajax_cache() { $post = get_post(); if ( ! $post || empty( $_GET['message'] ) ) { return; } ?> <script type="text/javascript"> jQuery( function($) { $.get("<?php echo esc_url( admin_url( 'admin-ajax.php', 'relative' ) ) . '?action=oembed-cache&post=' . $post->ID; ?>"); } ); </script> <?php } /** * Registers an embed handler. * * Do not use this function directly, use wp_embed_register_handler() instead. * * This function should probably also only be used for sites that do not support oEmbed. * * @param string $id An internal ID/name for the handler. Needs to be unique. * @param string $regex The regex that will be used to see if this handler should be used for a URL. * @param callable $callback The callback function that will be called if the regex is matched. * @param int $priority Optional. Used to specify the order in which the registered handlers will be tested. * Lower numbers correspond with earlier testing, and handlers with the same priority are * tested in the order in which they were added to the action. Default 10. */ public function register_handler( $id, $regex, $callback, $priority = 10 ) { $this->handlers[ $priority ][ $id ] = array( 'regex' => $regex, 'callback' => $callback, ); } /** * Unregisters a previously-registered embed handler. * * Do not use this function directly, use wp_embed_unregister_handler() instead. * * @param string $id The handler ID that should be removed. * @param int $priority Optional. The priority of the handler to be removed (default: 10). */ public function unregister_handler( $id, $priority = 10 ) { unset( $this->handlers[ $priority ][ $id ] ); } /** * Returns embed HTML for a given URL from embed handlers. * * Attempts to convert a URL into embed HTML by checking the URL * against the regex of the registered embed handlers. * * @since 5.5.0 * * @param array $attr { * Shortcode attributes. Optional. * * @type int $width Width of the embed in pixels. * @type int $height Height of the embed in pixels. * } * @param string $url The URL attempting to be embedded. * @return string|false The embed HTML on success, false otherwise. */ public function get_embed_handler_html( $attr, $url ) { $rawattr = $attr; $attr = wp_parse_args( $attr, wp_embed_defaults( $url ) ); ksort( $this->handlers ); foreach ( $this->handlers as $priority => $handlers ) { foreach ( $handlers as $id => $handler ) { if ( preg_match( $handler['regex'], $url, $matches ) && is_callable( $handler['callback'] ) ) { $return = call_user_func( $handler['callback'], $matches, $attr, $url, $rawattr ); if ( false !== $return ) { /** * Filters the returned embed HTML. * * @since 2.9.0 * * @see WP_Embed::shortcode() * * @param string|false $return The HTML result of the shortcode, or false on failure. * @param string $url The embed URL. * @param array $attr An array of shortcode attributes. */ return apply_filters( 'embed_handler_html', $return, $url, $attr ); } } } } return false; } /** * The do_shortcode() callback function. * * Attempts to convert a URL into embed HTML. Starts by checking the URL against the regex of * the registered embed handlers. If none of the regex matches and it's enabled, then the URL * will be given to the WP_oEmbed class. * * @param array $attr { * Shortcode attributes. Optional. * * @type int $width Width of the embed in pixels. * @type int $height Height of the embed in pixels. * } * @param string $url The URL attempting to be embedded. * @return string|false The embed HTML on success, otherwise the original URL. * `->maybe_make_link()` can return false on failure. */ public function shortcode( $attr, $url = '' ) { $post = get_post(); if ( empty( $url ) && ! empty( $attr['src'] ) ) { $url = $attr['src']; } $this->last_url = $url; if ( empty( $url ) ) { $this->last_attr = $attr; return ''; } $rawattr = $attr; $attr = wp_parse_args( $attr, wp_embed_defaults( $url ) ); $this->last_attr = $attr; /* * KSES converts & into & and we need to undo this. * See https://core.trac.wordpress.org/ticket/11311 */ $url = str_replace( '&', '&', $url ); // Look for known internal handlers. $embed_handler_html = $this->get_embed_handler_html( $rawattr, $url ); if ( false !== $embed_handler_html ) { return $embed_handler_html; } $post_id = ( ! empty( $post->ID ) ) ? $post->ID : null; // Potentially set by WP_Embed::cache_oembed(). if ( ! empty( $this->post_ID ) ) { $post_id = $this->post_ID; } // Check for a cached result (stored as custom post or in the post meta). $key_suffix = md5( $url . serialize( $attr ) ); $cachekey = '_oembed_' . $key_suffix; $cachekey_time = '_oembed_time_' . $key_suffix; /** * Filters the oEmbed TTL value (time to live). * * @since 4.0.0 * * @param int $time Time to live (in seconds). * @param string $url The attempted embed URL. * @param array $attr An array of shortcode attributes. * @param int $post_id Post ID. */ $ttl = apply_filters( 'oembed_ttl', DAY_IN_SECONDS, $url, $attr, $post_id ); $cache = ''; $cache_time = 0; $cached_post_id = $this->find_oembed_post_id( $key_suffix ); if ( $post_id ) { $cache = get_post_meta( $post_id, $cachekey, true ); $cache_time = get_post_meta( $post_id, $cachekey_time, true ); if ( ! $cache_time ) { $cache_time = 0; } } elseif ( $cached_post_id ) { $cached_post = get_post( $cached_post_id ); $cache = $cached_post->post_content; $cache_time = strtotime( $cached_post->post_modified_gmt ); } $cached_recently = ( time() - $cache_time ) < $ttl; if ( $this->usecache || $cached_recently ) { // Failures are cached. Serve one if we're using the cache. if ( '{{unknown}}' === $cache ) { return $this->maybe_make_link( $url ); } if ( ! empty( $cache ) ) { /** * Filters the cached oEmbed HTML. * * @since 2.9.0 * * @see WP_Embed::shortcode() * * @param string|false $cache The cached HTML result, stored in post meta. * @param string $url The attempted embed URL. * @param array $attr An array of shortcode attributes. * @param int $post_id Post ID. */ return apply_filters( 'embed_oembed_html', $cache, $url, $attr, $post_id ); } } /** * Filters whether to inspect the given URL for discoverable link tags. * * @since 2.9.0 * @since 4.4.0 The default value changed to true. * * @see WP_oEmbed::discover() * * @param bool $enable Whether to enable `<link>` tag discovery. Default true. */ $attr['discover'] = apply_filters( 'embed_oembed_discover', true ); // Use oEmbed to get the HTML. $html = wp_oembed_get( $url, $attr ); if ( $post_id ) { if ( $html ) { update_post_meta( $post_id, $cachekey, $html ); update_post_meta( $post_id, $cachekey_time, time() ); } elseif ( ! $cache ) { update_post_meta( $post_id, $cachekey, '{{unknown}}' ); } } else { $has_kses = false !== has_filter( 'content_save_pre', 'wp_filter_post_kses' ); if ( $has_kses ) { // Prevent KSES from corrupting JSON in post_content. kses_remove_filters(); } $insert_post_args = array( 'post_name' => $key_suffix, 'post_status' => 'publish', 'post_type' => 'oembed_cache', ); if ( $html ) { if ( $cached_post_id ) { wp_update_post( wp_slash( array( 'ID' => $cached_post_id, 'post_content' => $html, ) ) ); } else { wp_insert_post( wp_slash( array_merge( $insert_post_args, array( 'post_content' => $html, ) ) ) ); } } elseif ( ! $cache ) { wp_insert_post( wp_slash( array_merge( $insert_post_args, array( 'post_content' => '{{unknown}}', ) ) ) ); } if ( $has_kses ) { kses_init_filters(); } } // If there was a result, return it. if ( $html ) { /** This filter is documented in wp-includes/class-wp-embed.php */ return apply_filters( 'embed_oembed_html', $html, $url, $attr, $post_id ); } // Still unknown. return $this->maybe_make_link( $url ); } /** * Deletes all oEmbed caches. Unused by core as of 4.0.0. * * @param int $post_id Post ID to delete the caches for. */ public function delete_oembed_caches( $post_id ) { $post_metas = get_post_custom_keys( $post_id ); if ( empty( $post_metas ) ) { return; } foreach ( $post_metas as $post_meta_key ) { if ( str_starts_with( $post_meta_key, '_oembed_' ) ) { delete_post_meta( $post_id, $post_meta_key ); } } } /** * Triggers a caching of all oEmbed results. * * @param int $post_id Post ID to do the caching for. */ public function cache_oembed( $post_id ) { $post = get_post( $post_id ); $post_types = get_post_types( array( 'show_ui' => true ) ); /** * Filters the array of post types to cache oEmbed results for. * * @since 2.9.0 * * @param string[] $post_types Array of post type names to cache oEmbed results for. Defaults to post types with `show_ui` set to true. */ $cache_oembed_types = apply_filters( 'embed_cache_oembed_types', $post_types ); if ( empty( $post->ID ) || ! in_array( $post->post_type, $cache_oembed_types, true ) ) { return; } // Trigger a caching. if ( ! empty( $post->post_content ) ) { $this->post_ID = $post->ID; $this->usecache = false; $content = $this->run_shortcode( $post->post_content ); $this->autoembed( $content ); $this->usecache = true; } } /** * Passes any unlinked URLs that are on their own line to WP_Embed::shortcode() for potential embedding. * * @see WP_Embed::autoembed_callback() * * @param string $content The content to be searched. * @return string Potentially modified $content. */ public function autoembed( $content ) { // Replace line breaks from all HTML elements with placeholders. $content = wp_replace_in_html_tags( $content, array( "\n" => '<!-- wp-line-break -->' ) ); if ( preg_match( '#(^|\s|>)https?://#i', $content ) ) { // Find URLs on their own line. $content = preg_replace_callback( '|^(\s*)(https?://[^\s<>"]+)(\s*)$|im', array( $this, 'autoembed_callback' ), $content ); // Find URLs in their own paragraph. $content = preg_replace_callback( '|(<p(?: [^>]*)?>\s*)(https?://[^\s<>"]+)(\s*<\/p>)|i', array( $this, 'autoembed_callback' ), $content ); } // Put the line breaks back. return str_replace( '<!-- wp-line-break -->', "\n", $content ); } /** * Callback function for WP_Embed::autoembed(). * * @param array $matches A regex match array. * @return string The embed HTML on success, otherwise the original URL. */ public function autoembed_callback( $matches ) { $oldval = $this->linkifunknown; $this->linkifunknown = false; $return = $this->shortcode( array(), $matches[2] ); $this->linkifunknown = $oldval; return $matches[1] . $return . $matches[3]; } /** * Conditionally makes a hyperlink based on an internal class variable. * * @param string $url URL to potentially be linked. * @return string|false Linked URL or the original URL. False if 'return_false_on_fail' is true. */ public function maybe_make_link( $url ) { if ( $this->return_false_on_fail ) { return false; } $output = ( $this->linkifunknown ) ? '<a href="' . esc_url( $url ) . '">' . esc_html( $url ) . '</a>' : $url; /** * Filters the returned, maybe-linked embed URL. * * @since 2.9.0 * * @param string $output The linked or original URL. * @param string $url The original URL. */ return apply_filters( 'embed_maybe_make_link', $output, $url ); } /** * Finds the oEmbed cache post ID for a given cache key. * * @since 4.9.0 * * @param string $cache_key oEmbed cache key. * @return int|null Post ID on success, null on failure. */ public function find_oembed_post_id( $cache_key ) { $cache_group = 'oembed_cache_post'; $oembed_post_id = wp_cache_get( $cache_key, $cache_group ); if ( $oembed_post_id && 'oembed_cache' === get_post_type( $oembed_post_id ) ) { return $oembed_post_id; } $oembed_post_query = new WP_Query( array( 'post_type' => 'oembed_cache', 'post_status' => 'publish', 'name' => $cache_key, 'posts_per_page' => 1, 'no_found_rows' => true, 'cache_results' => true, 'update_post_meta_cache' => false, 'update_post_term_cache' => false, 'lazy_load_term_meta' => false, ) ); if ( ! empty( $oembed_post_query->posts ) ) { // Note: 'fields' => 'ids' is not being used in order to cache the post object as it will be needed. $oembed_post_id = $oembed_post_query->posts[0]->ID; wp_cache_set( $cache_key, $oembed_post_id, $cache_group ); return $oembed_post_id; } return null; } }
Save
cmd:
run