File: /www/wwwroot/www.scdc-marine.com/wp-content/themes/scdc-marine/HekuClass/View/ViewLoader.php
<?php
namespace Heku\HekuClass\View;
/**
* @package Heku\Modules\View
* @subpackage Classes/ViewLoader
* @author Heku Daleconan <http://www.daleconan.com>
* @copyright Copyright (c) 2022-2023, Heku Daleconan
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
*/
class ViewLoader {
/**
* 类实现单例模式,类的独生子女
*/
private static $instance;
/**
* 依赖注入的接口 Instance 方法
* 目标是 保证 init() 初始化方法 只执行一次
*
* @return self 唯一实例化的本类
*/
public static function instance() {
if ( ! isset( self::$instance ) ) {
self::$instance = new self;
self::$instance->init();
}
return self::$instance;
}
private function init() {
// 自定义初始化 init-templates 动作钩子,Wordpress 主结构已经实例化完毕
add_action('init-templates', array( $this, 'load_templates' ) );
}
/**
* 加载前台的各个模块
*
* @return void
* @author Li Ruchun <lemolee@163.com>
* @version 1.0.0
* @since 2018
*/
public function load_templates(){
// 加载 head 头部 js css 样式 动作
Header::instance();
// 挂载钩子:heku_head_css
// CDN::instance();
// 挂载钩子:heku_head_css
SEO::instance();
// SEO参数相关数据 提供静态函数 function get_home_meta() static function get_single_meta static function get_term_meta static function get_post_meta static function get_seo_title()
Banner::instance();
// 顶部 Banner 轮播数据 提供静态函数 function get_banner_array() return $banner_group;
FullDisplay::instance();
// 全屏图文展示 相关数据字段 提供静态函数 function get_display_array() return $display_group;
Footer::instance();
// 挂载钩子:heku_footer_js
//加载首页必须加载的动作
if( is_home() ){
// IndexModule::instance(); 目前空
// 首页 全屏展示模块 挂载钩子:heku_index_module
}
//文章内页方法
if( is_single() ){
// Single::instance(); 目前空
// 单页 挂载钩子:single_bar_line
}
if( is_post_type_archive('post') ){
// Product::instance(); 目前空
// 产品单页,挂载钩子:product_img_line
}
}
}