2013-05-03 56 views
0

我有一個頁面上的鏈接列表,每個鏈接鏈接到頁面上的div的id。這個想法是,點擊時,一個模式啓動與內聯內容。根據點擊鏈接的href值查詢不同的WordPress頁面

的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

您可以在同一頁面中得到的一切,像「http://domain.com/clinic?c=cardiacModal」所以,在你的頁面,你放一個switch語句,如:

<?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; ?> 
+0

是的,正是我所希望的。讓我測試一下,很快就會回來。 – JCHASE11 2013-05-03 16:26:14

+0

但是,爲什麼你不使用WP'頁面'?您可以使用固定鏈接'%category%/%postname%'並使用頁面模板來完成此操作...並在循環中列出所有頁面鏈接以構建菜單。 – 2013-05-03 16:27:08

+0

是的,我認爲這是一個更好的主意....我會這樣做的! – JCHASE11 2013-05-03 16:32:10

0

我會創造的模式框內容頁面的超級準系統頁面模板(基本上只是容器的內容爲最低限度的CSS所需),然後將其作爲iframe或AJAX管入模式。

相關問題