| | |
| | | } |
| | | |
| | | use JVBase\registrar\Registrar; |
| | | use JVBase\base\Site; |
| | | use WP_Block; |
| | | use WP_Query; |
| | | |
| | |
| | | |
| | | jvb_register_do_once('buildDirectories', [$this, 'activate']); |
| | | add_action('init', [$this, 'registerDirectories']); |
| | | add_action('render_block', [$this, 'renderBlock'], 99999, 3); |
| | | add_filter('render_block', [$this, 'renderBlock'], 998, 3); |
| | | } |
| | | |
| | | public function registerDirectories():void |
| | | { |
| | | |
| | | $singular = (array_key_exists('directory_label', JVB_SITE)) ? JVB_SITE['directory_label'][0] : 'Directory'; |
| | | $plural = (array_key_exists('directory_label', JVB_SITE)) ? JVB_SITE['directory_label'][1] : 'Directories'; |
| | | $singular = !empty(Site::getDirectorySingular())?:'Directory'; |
| | | $plural = !empty(Site::getDirectorySingular())?: 'Directories'; |
| | | $config = [ |
| | | 'labels' => [ |
| | | 'name' => $plural, |
| | |
| | | } |
| | | } |
| | | |
| | | // if (Features::forSite()->has('has_map')) { |
| | | // if (Site::has('has_map')) { |
| | | // $ID = wp_insert_post([ |
| | | // 'post_type' => BASE.'directory', |
| | | // 'post_title' => 'Map', |
| | |
| | | return $content; |
| | | } |
| | | |
| | | error_log('Still working on directory manager...'); |
| | | // For archive page |
| | | if (is_post_type_archive(BASE.'directory') && $block['blockName'] === 'core/group') { |
| | | return ($block['attrs']['tagName']??'' === 'main') ? '<main>'.$this->renderArchive().'</main>' : $content; |
| | |
| | | |
| | | public function referAs($plural = false):string |
| | | { |
| | | if (!empty(JVB_SITE) && array_key_exists('directory_label', JVB_SITE)) { |
| | | return ($plural) ? JVB_SITE['directory_label'][1] : JVB_SITE['directory_label'][0]; |
| | | } |
| | | return ($plural) ? 'Directories' : 'Directory'; |
| | | return ($plural) ? Site::getDirectoryPlural()??'Directories' : Site::getDirectorySingular()??'Directory'; |
| | | } |
| | | |
| | | /***************************************************** |