<?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;
|
}
|