我对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&version=3&wmode=transparent&rel=0&showinfo=0&modestbranding=1" frameborder="0" allowfullscreen="">
</iframe>
</div>
</p>
有人可以给我任何解决方案的方法吗?