Intereting Posts
Отображать три разных уровня навигации от wp_nav_menu отдельно? Это хороший код для защиты wordpress от htaccess? Программно отключить продукт, продаваемый в Woocommerce Получил мягкое отклонение от themeforest о файле wp-blog-header.php Как обеспечить доступ к определенному плагину ко всем ролям пользователя, кроме подписчика в wordpress используя идентификатор навигационного меню Скрыть тему в списке тем в wp-admin без редактирования файлов ядра Выделение порядка таксономии для определенного срока изменить ширину полноэкранного редактора Обновление опции панели управления из шаблона страницы Что делать, если у меня есть большой файл на сервере, который я хочу иметь библиотеку wp? Вход в качестве клиента отсутствует в меню панели? Показывать список пользовательских таксономий при выборе другой таксономии Как отображать страницы с пользовательскими полями на одной странице Как зарегистрировать активацию и деактивировать крючок в плагине с использованием шаблона ООП

Виджет для встраивания видео в YouTube

Я новичок в разработке WordPress. В настоящее время я пытаюсь создать виджет для встраивания видео с youtube. Мой план – администратор, или автор просто даст идентификатор видео, и видео будет в области виджета.

Мои коды:

index.php

<?php /* Plugin Name: Youtube Plugin URI: imonislam.com Author: smartrahat Author URI: imonislam.com Description: This plugin will embed youtube video on sidebar or any widget location you want. Version: 1.0 This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the license or (at your option) any later version. This program is distributes in hope that it will be useful, but without any warranty; without even the implied warranty of MERCHANTABILITY or FITNESS for a PARTICULAR PERSON. See the GNU General Public License for more details. You should have receive a copy of GNU General Public License, if not, see http://www.gnu.com/licenses/ */ require_once 'youtube.php'; function register_youtube_widget(){ register_widget('youtube'); } add_action('widgets_init','register_youtube_widget'); 

youtube.php

 <?php class youtube extends WP_Widget{ public function __construct() { parent::WP_Widget( 'youtube', __('Youtube'), [ 'description' => 'paste your video id you want to embed', 'class' => 'youtube-widget' ] ); } public function form($instance) { $default = [ 'title' => __(''), 'code' => __('') ]; $instance = wp_parse_args((array)$instance,$default); echo "\r\n"; echo '<p>'; echo '<label for="'.$this->get_field_id('title').'">'.__('Title').':</label>'; echo '<input type="text" class="widefat" id="'.$this->get_field_id('title').'" value="'.esc_attr($instance['title']).'">'; echo '</p>'; echo '<p>'; echo '<label for="'.$this->get_field_id('code').'">'.__('Code').':</label>'; echo '<input type="text" class="widefat" id="'.$this->get_field_id('code').'" value="'.esc_attr($instance['code']).'">'; echo '</p>'; } public function update($new_instance, $old_instance) { $instance = $old_instance; $instance['title'] = strip_tags($new_instance['title']); $instance['code'] = $new_instance['code']; return $instance; } public function widget($args, $instance) { extract($args,EXTR_SKIP); echo $before_widget; echo '<iframe width="560" height="315" src="https://www.youtube.com/embed/'; echo $instance['code']; echo '" frameborder="0" allowfullscreen></iframe>'; echo $after_widget; } } 

Видеопроигрыватель отображается правильно. Но после предоставления идентификатора видео в виджетах видео не воспроизводится. В нем говорится,

Произошла ошибка. Пожалуйста, повторите попытку позже.

В простом PHP я использую этот код:
Url: иметь код, который так же, как вы genrate, который добавлен в конце url.I am работа с core php.

  $url = 'http://www.youtube.com/watch?v=fHBFvlQ3JGY'; preg_match( '/[\\?\\&]v=([^\\?\\&]+)/', $url, $matches ); $id = $matches[1]; $width = '640'; $height = '385'; echo '<object width="' . $width . '" height="' . $height . '"><param name="movie" value="http://www.youtube.com/v/' . $id . '&amp;hl=en_US&amp;fs=1?rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/' . $id . '&amp;hl=en_US&amp;fs=1?rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="' . $width . '" height="' . $height . '"></embed></object>';