Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » В помощь вебмастеру » WordPress

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87

Открыть новую тему     Написать ответ в эту тему

TheBat



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
WordPress
система публикаций



Последнее крупное обновление: 5.2 Jaco 07.05.2019
Последняя версия: 5.2.3 05.09.2019    
Последний RC: 5.2 Release Candidate 2 02.05.2019    
Последняя бета-версия: 5.2 Beta 3 12.04.2019

Документация на русском.
Правильные плагины для WP
10 полезных коротких кодов для WordPress
Стили (темы) для WP - бесплатные:
Правильные темы для WP. Взятые с других источников могут быть небезопасные
Русские форумы:
Официальный русский форум
mywordpress.ru  
maxsite.org  
Блоги о WP - описание, русифицированные версии популярных плагинов:
lecactus  
sonika  
Блог Ю.Б.  
wpuse.ru  
my-wordpress.ru  
wp-kama.ru - на сайте есть вольный перевод из кодекса функций ВП и тем.
обзор "Помощи вебмастеру" » все скрипты » новостные скрипты/скрипты блогов » WordPress

Всего записей: 802 | Зарегистр. 17-12-2002 | Отправлено: 18:16 02-05-2005 | Исправлено: fakintosh, 08:26 05-09-2019
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Gueest

Цитата:
Плагин называется power-builder

я потому и спрашиваю, что тут его нет
https://wordpress.org/plugins/search/power-builder/
но есть у templatemonster, который, возможно, идет как часть шаблонов от них.

Всего записей: 8047 | Зарегистр. 20-09-2014 | Отправлено: 21:37 14-10-2017
Gueest



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Осталось выяснить, где в коде формируется вывод видео....

Всего записей: 578 | Зарегистр. 25-04-2011 | Отправлено: 22:07 14-10-2017
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Gueest

Цитата:
Осталось выяснить, где в коде формируется вывод видео

в js коде просто идет замена ссылки на youtube на iframe с туб ссылкой вида youtube.com/embed
 

Всего записей: 8047 | Зарегистр. 20-09-2014 | Отправлено: 22:17 14-10-2017
Gueest



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
в js коде

в каком именно? там их куча

Всего записей: 578 | Зарегистр. 25-04-2011 | Отправлено: 22:21 14-10-2017
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
в каком именно? там их куча

в двух, один от tinymce редактора (может быть только для отображения в нем), второй jquery.magnific-popup.js
посмотрите в коде конечной страницы, как изначально выводится туб - ссылкой или уже преобразованный iframe. тогда и поймете - делает это php код или js

Всего записей: 8047 | Зарегистр. 20-09-2014 | Отправлено: 22:24 14-10-2017 | Исправлено: Mavrikii, 22:24 14-10-2017
Gueest



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Большое спасибо

Всего записей: 578 | Зарегистр. 25-04-2011 | Отправлено: 15:42 15-10-2017
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Gueest

Цитата:
Большое спасибо

ну так решили проблему или нет? решение лучше показывать, вдруг кому еще пригодится

Всего записей: 8047 | Зарегистр. 20-09-2014 | Отправлено: 21:35 15-10-2017
Gueest



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго  времени суток!
Да, проблема решена.
 
Все оказалось достаточно просто, вывод реализован на стороне сервера и выдается подготовленными, стандартными html-кусками кода.
Формирование iframe для модулей видео, находится в файле class-builder-module-video.php (путь от корня: wp-content\plugins\power-builder\framework\includes\modules\).  
Внутри класса имеется метод shortcode_callback, и на скрине можно увидеть мою вставку кода:
 
...скрин https://prntscr.com/gzyv2r
 
и сам код:

Код:
<?php  
if ( is_type_link_youtube($src) ) {
    $video_src = '<div class="container_yt_player" style="position: relative;"><img class="container_img" width="80" style="visibility: hidden;position: absolute; z-index: 5;padding-top: -40px;opacity: 0.6;" src="' . plugins_url('/power-builder/framework/images/') .'blackyt.png" /><div class="vid" style="text-align: center; position: relative;padding-bottom: 50%; padding-top: 40px;
height: 0;overflow: hidden;" data-url="' . get_yt_video_id($src) . '" data-num="1"><img style="margin-top: -40px;transform: scale(1.4);" src="//img.youtube.com/vi/' . get_yt_video_id($src) . '/hqdefault.jpg"></div></div>';
}
?>
 
Вспомогательные функции, удобно разместились в глобальном файле functions.php (путь от корня: wp-content\plugins\power-builder\framework\).  
и сам код:
 
<?php  
//------  
// Type provider Youtube/ Return Boolean: true|false
if ( ! function_exists( 'is_type_link_youtube' ) ) {
function is_type_link_youtube( $url ) {
    $links = array("http://www.youtube.com", "https://www.youtube.com", "https://youtu.be", "http://youtu.be");
    for($j=0; $j<count($links); $j++) {
        if(strpos($url, $links[$j]) !== false) {
            return true;
        }
    }
    return false;
}
}
// Return puth folder: plugins
if ( ! function_exists( 'get_puth_plugin' ) ) {
function get_puth_plugin() {    
    return plugin_dir_url( __FILE__ );
}
}
 
// Return idvideo yt from url Youtube
if ( ! function_exists( 'get_yt_video_id' ) ) {
function get_yt_video_id( $url ) {
    $urls = array("v=", "/youtu.be/");
    $idv = "";
    $index = false;
    if( strpos($url, $urls[0]) !== false ) {
        $index = strpos($url, $urls[0]) + strlen($urls[0]);                                                            
    } elseif ( strpos($url, $urls[1]) !== false ) {
        $index = strpos($url, $urls[1]) +strlen($urls[1]);        
    }
    if($index !== false) {
        $f = false;
        for($j=$index; $j<strlen($url); $j++) {
            if($url[$j] == '&' || $url[$j] == '?') {  
                $idv = substr($url, $index, $j - $index);
                return $idv;
            }
        }    
        $idv = substr($url, $index);
    }                    
    return $idv;
}
}
function my_library_enqueue_scripts(){
    //if (is_admin()):
        wp_register_script(
            'lib-player-yt', //идентификатор
            plugins_url('/power-builder/framework/library-player.js'), //источник
            array(), //зависимости
            '1.0.2.4', //версия
            true //выполняем в нижнем колонтитуле
        );
        wp_enqueue_script('lib-player-yt');
    //endif; //!is_admin
}
 
// System Hook
add_action('wp_print_scripts', 'my_library_enqueue_scripts');
//------
?>
 
Javascript код, вынесен в отдельный файл и соответствующим образом подключен в стиле WP
и сам код:
<script>
/**
 * the script manager load iframe player yt when click on button Play
*/
(function() {
    document.addEventListener("DOMContentLoaded", function() {
        var css1 = document.createElement("style");
        css1.innerHTML = ".container_yt_player:hover {cursor: pointer;}";
        document.getElementsByTagName("head")[0].appendChild(css1);
        var containers_player = document.querySelectorAll(".container_yt_player");
        var containers_img = document.querySelectorAll(".container_yt_player img");
        for(let j=0; j<containers_player.length; j++) {
            containers_player[j].addEventListener("mouseover", function(event) {
                this.children[0].src = "/wp-content/plugins/power-builder/framework/images/redyt.png";
                this.children[0].style.opacity = "1";
            }, false);
            containers_player[j].addEventListener("mouseout", function(event) {
                this.children[0].src = "/wp-content/plugins/power-builder/framework/images/blackyt.png";
                this.children[0].style.opacity = "0.5";
 
            }, false);
            containers_player[j].addEventListener("click", function(event) {
                this.children[0].style.display = "none";
                this.children[1].innerHTML = "<iframe width='"+this.parentNode.offsetWidth+"' height='"+this.parentNode.offsetHeight+"' style='position: absolute;top: 0;left: 0; width:100%;height:100%;' src='https://www.youtube.com/embed/"+this.children[1].dataset.url+"?autoplay=1&showinfo=0&rel=0' frameborder='0' allowfullscreen></iframe>";
            }, false);
        }
        function res(){
            // reposition picture buttons when resize window
            for(var j=0; j<containers_img.length; j++) {
                var picture = containers_img[j];
                picture.style.top = ( (containers_img[j].parentNode.offsetHeight - picture.offsetHeight) / 2 )+ "px";
                picture.style.left = ( (containers_img[j].parentNode.offsetWidth - picture.offsetWidth) / 2 )+ "px";
                picture.style.visibility = "visible";
            }
        }  
        res();
        window.addEventListener("resize", res, false);
        
    }, false);
})();
</script>

 
разница в загрузке страницы Ссылка

Всего записей: 578 | Зарегистр. 25-04-2011 | Отправлено: 00:27 21-10-2017 | Исправлено: Gueest, 23:40 21-10-2017
Gueest



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Такой  вопрос уже давно мучает меня
Почему иногда удаляются из кода некоторые теги, а так же добаляются? Дело касается тега переноса <br /> и иногда тега параграфа <p></p> и других типа <strong></strong>.  
Когда нужен дополнительный отступ между двумя строками, вставляю <br> внутрь тега <p></p>, то после очередного редактирования он исчезает.
Есть ли этому какое-то объяснение. а лучше решение?

Всего записей: 578 | Зарегистр. 25-04-2011 | Отправлено: 21:36 26-10-2017 | Исправлено: Gueest, 21:37 26-10-2017
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Gueest

Цитата:
то после очередного редактирования он исчезает.

настройки wysiwyg редактора - какой используется?

Всего записей: 8047 | Зарегистр. 20-09-2014 | Отправлено: 21:37 26-10-2017
Gueest



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
на одном из сайтов TinyMCE
ага... нашел

Всего записей: 578 | Зарегистр. 25-04-2011 | Отправлено: 21:47 26-10-2017 | Исправлено: Gueest, 21:49 26-10-2017
Cofa

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброй ночи. Подскажите, пожалуйста, плагин для фото. Необходимо чтобы каждый раз при обновлении страницы сайта появлялось какое-то новое одно фото из галереи?

Всего записей: 29 | Зарегистр. 04-03-2007 | Отправлено: 23:07 04-11-2017
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cofa
https://wordpress.org/plugins/tags/random-image/

Всего записей: 8047 | Зарегистр. 20-09-2014 | Отправлено: 23:10 04-11-2017
SerV2003

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день, подскажите пожалуйста, как можно вывести в записи Вордпресс результаты произвольных полей в плагине WP-Recall
По сути нужно в нужном месте вывести поля: эл. почта, сайт, соглашение и прочие.
Разрабы говорят, что это можно вывести стандартными средствами Вордпресса, но я коде не силен, вот прошу помощи.
Вот страница ответа _https://codeseller.ru/forum/problemy-i-resheniya/vnesenie-sozdannyx-proizvolnyx-polej-v-zapis/
 
Я пробовал вставлять в свой single.php, но выдает ошибку, может быть кто-то решал уже этот вопрос?
заранее благодарю помогающих

Всего записей: 177 | Зарегистр. 24-11-2007 | Отправлено: 15:56 08-11-2017 | Исправлено: SerV2003, 09:23 09-11-2017
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SerV2003

Цитата:
пробовал вставлять в свой single.php

вставлять что?
 

Цитата:
По сути нужно в нужном месте вывести поля: эл. почта, сайт, соглашение и прочие.

из профиля?

Всего записей: 8047 | Зарегистр. 20-09-2014 | Отправлено: 00:16 09-11-2017
SerV2003

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вставляю echo rcl_get_custom_post_meta($post_id);
 
спасибо Mavrikii
 
я похоже не туда вставлял ))
всё получилось
 

Всего записей: 177 | Зарегистр. 24-11-2007 | Отправлено: 08:43 09-11-2017 | Исправлено: SerV2003, 09:22 09-11-2017
a1eksei1

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите, пожалуйста, разобраться как в WordPress с помощью плагина изменять форму и код запроса к БД на странице редактирования поста. Пробовал добавить и событие и фильтр из каталога, но ничего не изменялось.  
 

Код:
 
add_action('edit_post', array('plugin_classname', 'add_field'), 10);
// OR
add_filter('edit_posts_per_page', array('plugin_classname', 'add_field'))
 
public static function add_field($posts) {
    echo "<input type=\"text\" value=\"!!!!!!!!!\" />";
}  
 

Всего записей: 89 | Зарегистр. 26-05-2015 | Отправлено: 18:48 09-11-2017
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
a1eksei1

Цитата:
код запроса к БД

https://presscustomizr.com/snippet/three-techniques-to-alter-the-query-in-wordpress/
и по аналогии с https://codex.wordpress.org/Customizing_the_Registration_Form

Всего записей: 8047 | Зарегистр. 20-09-2014 | Отправлено: 21:11 09-11-2017
a1eksei1

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я имел в виду какой там хук?
(На странице редактирования новости. )
ПРоверял edit_post, но похоже, что это не то.

Всего записей: 89 | Зарегистр. 26-05-2015 | Отправлено: 17:36 10-11-2017
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
ПРоверял edit_post, но похоже, что это не то.

https://developer.wordpress.org/reference/hooks/edit_form_after_editor/

Всего записей: 8047 | Зарегистр. 20-09-2014 | Отправлено: 20:16 10-11-2017
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87

Компьютерный форум Ru.Board » Интернет » В помощь вебмастеру » WordPress

Имя:
Пароль:
Сообщение

Для вставки имени, кликните на нем.

Опции сообщенияДобавить свою подпись
Подписаться на получение ответов по e-mail
Добавить тему в личные закладки
Разрешить смайлики?
Запретить коды


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2018

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru