Intereting Posts
Как получить сообщения, которые хранятся в другой таблице, чем таблица по умолчанию (wp_posts)? Каков правильный способ обновления WP / plugins / themes без взлома сайта? Как проверить, загружает ли пользователь / устанавливает изображение в качестве отображаемого изображения? Как включить пользовательские типы сообщений на странице тегов? Получить ссылку на первое сообщение пользовательской таксономии в пользовательском списке таксономии WP как меню CMS Strip <p> из <blockquote> или что-то лучше? Определение крючков внутри классов (php)? Пользовательский тип сообщения не отображается в таблице wp_posts в базе данных с помощью navicat или PHPmyadmin удалить базовую категорию продукта, но перенаправить на страницу с той же постоянной ссылкой Лучший хостинг для блога (ов) WordPress? Post Query не работает после обновления до 4.1 Творческие кланы Вставить эквивалент плагина скрипта? Можно ли показывать полное содержание сообщения, когда в сетке есть только одно сообщение? WordPress Multisite – можно ли разместить основной сайт в подкаталоге?

Код эхо-кода от URL-адреса или короткого кода

Мне нужна функция, которая сканирует сообщения WordPress для ссылок youtube или короткого кода youtube, и когда его найдет, с регулярным выражением выбирает только код из url (например, «2SaZO4Gmfdc») и эхо-код.

На данный момент я редактировал один плагин, который делает то же самое, но вместо эхо-кода он повторяет что-то вроде img.youtube.com/vi/2SaZO4Gmfdc/0.jpg

Итак, на данный момент у меня есть этот код http://pastebin.com/6M70xpTX, и он не работает, и код плагинов, который работает, находится здесь pastebin.com/MX2fca96

Привет @ Саша Стефано:

Может быть, мне что-то не хватает, но на первый взгляд кажется, что вам просто нужно добавить оператор return (я не тестировал этот код, поэтому, если это не то, что я даю мне знать, и я буду копаться, чтобы понять это):

 function get_youtube_kod($post_id=null) { // Get the post ID if none is provided if($post_id==null OR $post_id=='') $post_id = get_the_ID(); // Gets the post's content $post_array = get_post($post_id); $markup = $post_array->post_content; // Checks for a standard YouTube embed preg_match('#<object[^>]+>.+?http://www.youtube.com/v/([A-Za-z0-9\-_]+).+?</object>#s', $markup, $matches); // Checks for any YouTube URL if(!isset($matches[1])) { preg_match('#http://w?w?w?.?youtube.com/watch\?v=([A-Za-z0-9\-_]+)#s', $markup, $matches); } // If no standard YouTube embed is found, checks for one embedded with JR_embed if(!isset($matches[1])) { preg_match('#\[yt url=([A-Za-z0-9\-_]+)]#s', $markup, $matches); } if(!isset($matches[1])) { preg_match('#\[yt url=([A-Za-z0-9\-_]+)[^>]*]#s', $markup, $matches); } // If we've found a YouTube video ID, create the thumbnail URL if(isset($matches[1])) { $youtube_kod = $matches[1]; } return $youtube_kod; };