我在页面上有一个链接列表,每个链接都链接到页面上div的id。我们的想法是,在点击时,会使用内联内容启动模式。
HTML如下:
<a href="#cardiacModal">Cardiac Care</a>
<a href="#emergencyModal">Emergency</a>
.... and many more
和模态:
<div style="display:none">
<div id="cardiacModal">
<?php query_posts( array('p' => 57, 'post_type' => 'directions') );
if (have_posts()) : while (have_posts()) : the_post(); ?>
<p><?php the_title(); ?></p>
<?php endwhile; endif; ?>
</div>
<div id="emergencyModal">
<?php query_posts( array('p' => 54, 'post_type' => 'directions') );
if (have_posts()) : while (have_posts()) : the_post(); ?>
<p><?php the_title(); ?></p>
<?php endwhile; endif; ?>
</div>
... and many more
</div>
总共有大约50个不同的链接触发50个单独的模态。在每个模态中,我使用php从特定的Wordpress页面中提取内容。现在,这个页面开始变得有点重量超过800行代码!
我正在寻找一种不同的方法 - 让一个单一模态与条件语句说,如果用户点击链接 x ,那么我们想查询页面ID x 在wordpress中。
我真的不确定最好的方法,或者甚至可能。我基本上寻找一种替代解决方案,以避免有50个模态 - 我宁愿有一个模态与逻辑控制哪些wordpress页面内容被拉出。
当前,我认为最好的解决方案是将每个模态放在一个单独的php文件中并使用jquery加载该ajax ......但我更喜欢另一种解决方案。想法?
答案 0 :(得分:0)
您可以在同一页面中收到所有内容,例如“http://domain.com/clinic?c=cardiacModal”,因此,在您的页面中,您可以输入以下转换语句:
<?php
switch($_GET['c']){
case 'cardiacModal' : $p = 57; break;
case 'emergencyModal' : $p = 54; break;
"..."
default;
}
if(!empty($_GET['c']): ?>
<div id="cardiacModal">
<?php query_posts( array('p' => $p, 'post_type' => 'directions') );
if (have_posts()) :
while (have_posts()) : the_post(); ?>
the_title();
<?php endwhile;
endif; ?>
</div>
<?php endif; ?>
答案 1 :(得分:0)
我会为模态框内容页面创建一个超级准系统页面模板(基本上只是最小css所需内容的容器),然后将其作为iframe或AJAX传递到模态中。