Plugin Wanted: Dropdown Cat List for Links
-
I’d like the user to be able to select the category they are most interested in and have the list of links in that category appear beneath in the sidebar.
Anyone know how I might do that?
TIA
-
In case anyone is interested, I used a script from Dynamic Drive:
This I put in the header:
<style type="text/css">
.menutitle{
cursor:pointer;
margin-left: 5px;}
.submenu{
margin-bottom: 0.5em;
}
</style><script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/var persistmenu="yes" //"yes" or "no". Make sure each SPAN content contains an incrementing ID starting at 1 (id="sub1", id="sub2", etc)
var persisttype="sitewide" //enter "sitewide" for menu to persist across site, "local" for this page onlyif (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">n')
document.write('.submenu{display: none;}n')
document.write('</style>n')
}function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}function get_cookie(Name) {
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}function onloadfunction(){
if (persistmenu=="yes"){
var cookiename=(persisttype=="sitewide")? "switchmenu" : window.location.pathname
var cookievalue=get_cookie(cookiename)
if (cookievalue!="")
document.getElementById(cookievalue).style.display="block"
}
}function savemenustate(){
var inc=1, blockid=""
while (document.getElementById("sub"+inc)){
if (document.getElementById("sub"+inc).style.display=="block"){
blockid="sub"+inc
break
}
inc++
}
var cookiename=(persisttype=="sitewide")? "switchmenu" : window.location.pathname
var cookievalue=(persisttype=="sitewide")? blockid+";path=/" : blockid
document.cookie=cookiename+"="+cookievalue
}if (window.addEventListener)
window.addEventListener("load", onloadfunction, false)
else if (window.attachEvent)
window.attachEvent("onload", onloadfunction)
else if (document.getElementById)
window.onload=onloadfunctionif (persistmenu=="yes" && document.getElementById)
window.onunload=savemenustate</script>
This I put in the sidebar:
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<?php $link_cats = $wpdb->get_results("SELECT cat_id, cat_name FROM $wpdb->linkcategories ORDER BY cat_name");
foreach ($link_cats as $link_cat) { ?>
<div class="menutitle" onclick="SwitchMenu('sub<?php echo $link_cat->cat_id; ?>')"><h2><?php echo $link_cat->cat_name; ?></h2></div>
<span class="submenu" id="sub<?php echo $link_cat->cat_id; ?>">
<ul>
<?php wp_get_links($link_cat->cat_id); ?>
</ul></span>
<?php } ?>
</div>You can see the result at: The Naked Truth
I just ended up coding my own because I couldn’t figure out how to query a list of all the categories available. I ended up with the same result. I’ll try your code and see if that does the same thing for me.
If it matters, I also modified the Smart Archives plugin to create another dropdown of all my months and years as well. Sure saved a lot of room on my sidebar.
The topic ‘Plugin Wanted: Dropdown Cat List for Links’ is closed to new replies.