• 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

Viewing 2 replies - 1 through 2 (of 2 total)
  • Thread Starter nmallory

    (@nmallory)

    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 https://getElementById.com/
    * Modified by Dynamic Drive for format & NS4/IE4 compatibility
    * Visit https://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 only

    if (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=onloadfunction

    if (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

    jasoco

    (@jasoco)

    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.

    https://www.jasoco.net/

Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘Plugin Wanted: Dropdown Cat List for Links’ is closed to new replies.