From 7edae7fa584c6f6ee1d3668a079fc4d48afd09dd Mon Sep 17 00:00:00 2001 From: uohlhv Date: Sat, 14 Jun 2025 17:44:36 +0800 Subject: [PATCH] Fix youtube shorts thumbnail --- plugins/af_youtube_thumbnail/init.php | 46 ++++++++++++++++----------- 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/plugins/af_youtube_thumbnail/init.php b/plugins/af_youtube_thumbnail/init.php index 650f1ad..ac516b0 100644 --- a/plugins/af_youtube_thumbnail/init.php +++ b/plugins/af_youtube_thumbnail/init.php @@ -1,23 +1,33 @@ add_hook($host::HOOK_ARTICLE_FILTER, $this); - } - - function hook_article_filter($article) { - if(strpos($article["link"], "youtube.com") !== FALSE) { - $video_id = str_replace('https://www.youtube.com/watch?v=', '', $article["link"]); - $article["content"] = ''.$article['; +class Af_Youtube_Thumbnail extends Plugin +{ + function about() + { + return array(0.1, + "Add the thumbnail for Youtube videos", + "gdott9"); } - return $article; - } + function init($host) + { + $host->add_hook($host::HOOK_ARTICLE_FILTER, $this); + } - function api_version() { return 2; } + function hook_article_filter($article) + { + if (strpos($article["link"], "youtube.com") !== false) { + $video_url_prefix = 'https://www.youtube.com/watch?v='; + $short_url_prefix = 'https://www.youtube.com/shorts/'; + $is_short = substr($article["link"], 0, strlen($short_url_prefix)) === $short_url_prefix; + $video_id = str_replace($is_short ? $short_url_prefix : $video_url_prefix, '', $article["link"]); + $article["content"] = ''.$article['; + } + + return $article; + } + + function api_version() + { + return 2; + } }