2010-07-26 92 views
0

我正在研究一個wordpress主題,它使用下拉菜單作爲站點導航的一部分。在wordpress中添加一個額外的鏈接到wp_pages_dropdown菜單

我使用wp_pages_dropdown和wp_dropdown_categories輸出我的菜單的下拉跳轉菜單,這是所有良好,工作正常,但我想一個「家」鏈接添加到<option>'s

列表的末尾

我一直在這裏 - 我的HTML/CSS是一塵不染,但我不是一個程序員,任何人都可以幫助我,我真的很感激。

<?php wp_dropdown_pages('show_option_none=Select Page');?>

<?php wp_dropdown_categories('show_option_none=Select Category'); ?>

我想,我需要以某種方式工作<?php echo get_option('home'); ?>到它在某種程度上。有什麼建議麼?謝謝。

+0

你追加首頁的下拉列表?我認爲最好的辦法是進入功能並在那裏追加你的選項。 – Anraiki 2010-07-26 15:42:38

+0

嗨Anraiki, 是的追加它正是我想到的。 進入該功能意味着編輯WordPress核心文件是否正確? – theothersimon 2010-07-26 16:57:39

+0

是的,你不想那麼做! – TheDeadMedic 2010-07-26 18:40:10

回答

0

我想說最簡單的方法是過濾wp_dropdown_...的輸出,並在關閉select標記之前注入您的選項;

function insert_home_in_dropdown($output) 
{ 
    $end = '<option value="whatever">Home</option></select>'; 
    return preg_replace('#</select>$#', $end, trim($output)); 
} 
add_filter('wp_dropdown_pages', 'insert_home_in_dropdown'); 
+0

嘿,我繼續編輯post-template.php文件,並調整了我的跳轉菜單js並使其工作,但是您的是一個更優雅的解決方案,謝謝。 對於知道甚至比我更少的觀衆的澄清,我在下面(或可能在上面)添加了更詳細的解釋。 謝謝TDM,這真的很棒。 – theothersimon 2010-07-26 20:38:26

0

我的代碼看起來是這樣的,在我的functions.php代碼我編輯的值爲0

var dropdownf = document.getElementById("page_id"); 
       function onPageChange() { 
       if (dropdownf.options[dropdownf.selectedIndex].value > 0) { 
       location.href = "<?php echo get_option('home'); ?>/?page_id="+dropdownf.options[dropdownf.selectedIndex].value; 
        } 

       if (dropdownf.options[dropdownf.selectedIndex].value == 0) { 
       location.href = "<?php echo get_option('home'); ?>"; // this give the href to the home link 
        } 

       } 
       dropdownf.onchange = onPageChange; 
相關問題