2013-06-27 24 views
1

我目前正在爲客戶端的Wordpress網站。這個客戶有很多人會管理網站的內容。話雖如此,我想要主菜單自動填充,並且只有1級子頁面自動填充到子菜單(下拉菜單)。PHP MySQL的WordPress的菜單

我開始使用MySQL構建PHP(顯然是因爲這就是網站的用途)。我目前的PHP腳本工作得非常接近完美,除了我一直在搞搞搞清楚如何爲子菜單設置一個循環。

我比PHP初學者多一點,當涉及到MySQL時,我確信有一些事情我正在做的事情可以做得更乾淨。

下面你會發現我寫的PHP腳本。此腳本目前適用於「主菜單」,但您可以看到,我沒有「子菜單」的循環。如果你可以請告訴我做我想在這裏嘗試的最佳方式,那太棒了!

function mainMenu() { 
// connect to mysql 
$link = mysql_connect('localhost', 'db_user', 'db_password'); 

// select the database 
mysql_select_db('db_name', $link); 

$mSql = " 
     SELECT a.*, 
      b.post_title AS sub_title, 
      b.post_name AS sub_name 
     FROM wp_posts AS a 
      LEFT JOIN wp_posts AS b 
      ON a.ID = b.post_parent 
      AND a.post_type = b.post_type 
     WHERE a.post_type='page' 
      AND a.post_status='publish' AND a.post_parent=0 
     GROUP BY a.ID 
     "; 

$mItems = mysql_query($mSql); 

echo '<ul id="menu-main-nav" class="menu">'; 
while($mResults = mysql_fetch_assoc($mItems)){ 
    echo '<li>'; 
    echo '<a href="'.$mResults['post_name'].'">'.$mResults['post_title'].'</a>'; 

    if($mResults['sub_title'] && $mResults['sub_name'] != null){ 
    echo '<ul class="sub-menu">'; 
     echo '<li>'; 
     echo '<a href="'.$mResults['sub_name'].'">'.$mResults['sub_title'].'</a>'; 
     echo '</li>'; 
    echo '</ul>'; 
    } 
    echo '</li>'; 

} 
echo '</ul>'; 
} 

非常感謝您的幫助!

-Tyler

+0

爲什麼不使用WordPress的功能呢? –

+0

我其實並不很熟悉很多Wordpress的功能。我會研究這一點。我一直在谷歌試圖找出這一點。但我沒有想到看看Wordpress的功能。 – usmck405

+0

好的,我發現我需要一個Wordpress功能。謝謝Rob W! – usmck405

回答

1

使用WordPress的功能,如wp_nav_menu

+0

你可以在這裏找到你需要的一切:http://codex.wordpress.org/Function_Reference/wp_nav_menu – usmck405