Jake Vanderwerf
2025-10-20 e729f920139f0c65902be2d6b2c32466b08375e8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
 
if (!defined('ABSPATH')) {
    exit;
}
 
function jvbIsDirectory():bool
{
    return (is_post_type_archive(BASE.'directory') || is_singular(BASE.'directory'));
}
 
function jvbDirectoryIds():array
{
    return array_values(get_option(BASE.'directory_ids'));
}
 
function jvbBuildDirectoryNavigation():string
{
    $nav = get_option(BASE.'directory_nav');
    if ($nav === false) {
        $IDs = jvbGlobalDirectoryInfo();
        $nav = '<nav class="directory-list alignwide" id="directory-list"><ul><li class="title">More Lists:</li>';
        foreach ($IDs as $ID) {
            $bit = (array_key_exists('slug', $ID)) ? $ID['slug'] : $ID['title'];
            $nav .= '<li id="directory-'.$bit.'"><a href="'.$ID['url'].'">[ '.$ID['title'].' ]</a></li>';
        }
        $nav .= '</ul></nav>';
        update_option(BASE.'directory_nav', $nav);
    }
    $ID = get_the_ID();
    return str_replace('directory-'.$ID.'"', 'directory-'.$ID.'" class="current"', $nav);
}
 
 
function jvbDirectories($search = 'all'):array
{
    $get = jvbGlobalDirectoryInfo();
//    jvbDump($get);
 
    if ($search == 'all') {
        return $get;
    } else {
        return $get[$search]??[];
    }
}
 
function jvbIndexedDirectories():array
{
 
    $out = get_transient(BASE.'indexed_directories');
    if (!$out) {
        $get = jvbGlobalDirectoryInfo();
        $out = [];
        foreach ($get as $g) {
            $temp = $g;
            unset($temp['ID']);
            $out[$g['ID']] = $temp;
        }
        set_transient(BASE.'indexed_directories', $out, WEEK_IN_SECONDS);
    }
    return $out;
}