使用 PHP 删除或创建 HTML <divs>
Removing or creating HTML <divs> with PHP
我在这个项目中使用 Swiper.js 幻灯片,每张幻灯片的图像和文本都将通过 WordPress 面板控制,包括幻灯片将有多少 'pages' .这意味着如果客户决定幻灯片有 5 页,那么 var $swiperPages 将存储这个数字 5,所以我想有两个选项:
通过 PHP 创建,5 HTML parent div 具有 child 内容(如 h2、p 和 img)或
删除 HTML parent divs 和它的 child ID 号大于 5 的内容。
这是页面的HTML:
<?php
$swiperPages = //get_theme_mod() code here to retrieve the value
$swiperNum = 1;
$title = 'title';
$subtitle = 'subtitle'
$imageurl = 'http://mypage.com/banner'
?>
<div class="swiper">
<div class="swiper-wrapper">
<!-- slide page n° 1 -->
<div id="<?php echo $swiperNum;?>" class="swiper-slide row">
<h2><?php echo $title . $swiperNum; ?></h2>
<p><?php echo $subtitle . $swiperNum; ?></p>
<img src="<?php echo $imageurl . $swiperNum++ ?>"></img>
</div>
<!-- slide page n° 1 -->
<div id="<?php echo $swiperNum;?>" class="swiper-slide row">
<h2><?php echo $title . $swiperNum; ?></h2>
<p><?php echo $subtitle . $swiperNum; ?></p>
<img src="<?php echo $imageurl . $swiperNum++ ?>"></img>
</div>
<!-- slide page n° 3 and so on.. -->
<div id="<?php echo $swiperNum;?>" class="swiper-slide row">
<h2><?php echo $title . $swiperNum; ?></h2>
<p><?php echo $subtitle . $swiperNum; ?></p>
<img src="<?php echo $imageurl . $swiperNum++ ?>"></img>
</div>
</div>
<div class="swiper-paginacao"></div>
</div>
Obs:如您所见,在创建单个幻灯片页面的每个 parent div 的末尾,我在最后一个 #swiperNum 上使用增量器 ++将 next 的值增加 1,不仅更改 ID,还更改标题、副标题和图像 url.
我只创建了 3 个 .swiper-slide divs,但我需要其中的 10 个 divs,因为每个都包含一页幻灯片的内容,我将允许客户在这张幻灯片上最多有 10 页。
问题是我不能让空 .swiper-slide parent divs 继续页面,因为即使没有文本和图像,Swiper.js 也会自动为每个幻灯片页面创建项目符号跨度。
我尝试使用 javascript var.remove() 函数来消除空 divs 但它没有工作得很好。该脚本混淆了幻灯片顺序。我需要一个 PHP 解决方案,以便在 Swiper.JS 工作之前呈现。
如何使用 PHP 删除或创建那些 parent div 及其基于 $swiperPages 值的 child 内容?
您要做的是创建一个 php for 循环,其中迭代次数是页数。像这样:
<?php
for ($x = 0; $x <= $swiperNum; $x++) { ?>
<div id="<?php echo $x;?>" class="swiper-slide row">
<h2><?php echo $title . $x; ?></h2>
<p><?php echo $subtitle . $x; ?></p>
<img src="<?php echo $imageurl . $x?>"></img>
</div>
<?php } ?>
我在这个项目中使用 Swiper.js 幻灯片,每张幻灯片的图像和文本都将通过 WordPress 面板控制,包括幻灯片将有多少 'pages' .这意味着如果客户决定幻灯片有 5 页,那么 var $swiperPages 将存储这个数字 5,所以我想有两个选项:
通过 PHP 创建,5 HTML parent div 具有 child 内容(如 h2、p 和 img)或
删除 HTML parent divs 和它的 child ID 号大于 5 的内容。
这是页面的HTML:
<?php
$swiperPages = //get_theme_mod() code here to retrieve the value
$swiperNum = 1;
$title = 'title';
$subtitle = 'subtitle'
$imageurl = 'http://mypage.com/banner'
?>
<div class="swiper">
<div class="swiper-wrapper">
<!-- slide page n° 1 -->
<div id="<?php echo $swiperNum;?>" class="swiper-slide row">
<h2><?php echo $title . $swiperNum; ?></h2>
<p><?php echo $subtitle . $swiperNum; ?></p>
<img src="<?php echo $imageurl . $swiperNum++ ?>"></img>
</div>
<!-- slide page n° 1 -->
<div id="<?php echo $swiperNum;?>" class="swiper-slide row">
<h2><?php echo $title . $swiperNum; ?></h2>
<p><?php echo $subtitle . $swiperNum; ?></p>
<img src="<?php echo $imageurl . $swiperNum++ ?>"></img>
</div>
<!-- slide page n° 3 and so on.. -->
<div id="<?php echo $swiperNum;?>" class="swiper-slide row">
<h2><?php echo $title . $swiperNum; ?></h2>
<p><?php echo $subtitle . $swiperNum; ?></p>
<img src="<?php echo $imageurl . $swiperNum++ ?>"></img>
</div>
</div>
<div class="swiper-paginacao"></div>
</div>
Obs:如您所见,在创建单个幻灯片页面的每个 parent div 的末尾,我在最后一个 #swiperNum 上使用增量器 ++将 next 的值增加 1,不仅更改 ID,还更改标题、副标题和图像 url.
我只创建了 3 个 .swiper-slide divs,但我需要其中的 10 个 divs,因为每个都包含一页幻灯片的内容,我将允许客户在这张幻灯片上最多有 10 页。
问题是我不能让空 .swiper-slide parent divs 继续页面,因为即使没有文本和图像,Swiper.js 也会自动为每个幻灯片页面创建项目符号跨度。
我尝试使用 javascript var.remove() 函数来消除空 divs 但它没有工作得很好。该脚本混淆了幻灯片顺序。我需要一个 PHP 解决方案,以便在 Swiper.JS 工作之前呈现。
如何使用 PHP 删除或创建那些 parent div 及其基于 $swiperPages 值的 child 内容?
您要做的是创建一个 php for 循环,其中迭代次数是页数。像这样:
<?php
for ($x = 0; $x <= $swiperNum; $x++) { ?>
<div id="<?php echo $x;?>" class="swiper-slide row">
<h2><?php echo $title . $x; ?></h2>
<p><?php echo $subtitle . $x; ?></p>
<img src="<?php echo $imageurl . $x?>"></img>
</div>
<?php } ?>