Слайд видео Wooslider, созданный в шаблоне, не работает - PullRequest
0 голосов
/ 22 марта 2019

Я довольно новичок в Wordpress и PHP, и я использую wooslider как часть шаблона для динамического создания ползунков для пользовательских типов записей.

Я создаю слайды для каждого изображения, прикрепленного к сообщению, и назначаю им одинаковую таксономию слайдера. а затем попросите wooslider создать слайдер для этой таксономии слайдера.

Моя единственная проблема - это слайд, который не содержит изображения, но содержит ссылку на видео в тегах вставки.

Что бы я ни пытался сделать, этот слайд не отображается и удерживает слайдер в «застрявшем» состоянии, то есть он не скользит.

Единственная половина работы - это когда я не устанавливаю сгенерированный видео слайд как опубликованный в шаблоне, но черновик, а затем перейдите на экран редактирования сообщения и опубликуйте его оттуда.

Это мой код:

/////////////////////////////////////////////////////////////
// IF MACHINE HAS VIDEO LINK CREATE NEW VIDEO SLIDER.
/////////////////////////////////////////////////////////////

//If youtube_link field is not empty.

if($YTURL):
    $video_title = $term_slug.'-video';
    $video_slide_object = get_page_by_path( $video_title, OBJECT, 'slide' );
    $video_slide_content = '[embed]'.$YTURL.'[/embed]';


    //If video-slide doesn't exist, create a slide for the Youtube video
    if(!$video_slide_object):
            $video_id = wp_insert_post(array (
            'post_type' => 'slide',
            'post_title' => $video_title,
            'post_content' => $video_slide_content,
            'post_status' => 'publish',));

            wp_set_post_terms( $video_id, $machine_slide_term['term_id'], 'slide-page');


    //If video slide exists and content is different, update
    elseif($video_slide_object == true && $video_slide_object ->post_content != $video_slide_content):
        $video_id = $video_slide_object->ID;

        $current_video = array (
            'ID' => $video_id,
            'post_content' => $video_slide_content,
            'post_title' => $video_title,
            'post_type' => 'slide',
            'post_status' => 'publish',
        );

        $vpost_id = wp_update_post( $current_video, true );

        if (is_wp_error($vpost_id)) {
            $errors = $vpost_id->get_error_messages();
            foreach ($errors as $error) {
                echo $error;
            }
        }

    endif;
endif;

    echo do_shortcode('[wooslider slider_type="slides" slideshow_speed="3" thumbnails="true" limit="100" pause_on_action="true" pause_on_hover="true" slide_page="'.$term_slug.'" ]');

Это HTML-код для созданного вручную слайдера (имеется в виду, что я сделал это через интерфейс плагина), который работает:

<p class="responsive-video-wrap clr">

    <div class="fluid-width-video-wrapper" style="padding-top: 56.25%;">

        <iframe src="https://www.youtube.com/embed/ygCnAoJ9PAU?feature=oembed" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" id="fitvid137374">

       </iframe>

    </div>

</p>

И это HTML-код, созданный из содержимого моего кода для вставки:

<p class="responsive-video-wrap clr">

    <div class="fluid-width-video-wrapper" style="padding-top: 23.4167%;">

        <iframe id="ygCnAoJ9PAU" class="wooslider-youtube" src="http://www.youtube.com/embed/ygCnAoJ9PAU?enablejsapi=1&amp;version=3&amp;wmode=transparent&amp;rel=0&amp;showinfo=0&amp;modestbranding=1" frameborder="0" allowfullscreen="">

        </iframe>

    </div>

</p>

Может ли кто-нибудь дать мне какое-нибудь решение о том, как действовать?

...