HEX
Server: nginx/1.28.1
System: Linux iZgw8b5bpgd4jyptfmmmxgZ 6.6.102-5.2.alnx4.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Nov 27 23:11:10 CST 2025 x86_64
User: www (1000)
PHP: 8.2.28
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/www.scdc-marine.com/wp-content/themes/scdc-marine/HekuClass/View/Banner.php
<?php

namespace Heku\HekuClass\View;

/**
 * @package     Heku\HekuClass\View
 * @subpackage  Classes/Banner
 * @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 Banner {

    /** 
     * 类实现单例模式,类的独生子女
     */
    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() {}

    /**
     * 输出缓存的header html 否则直接返回执行结果
     */
    public static function menu_banner_html(){

        $banner_group = heku_get_option('template_main','banner_fliter_group');
        $banner_group_page = get_post_meta( get_the_ID(), 'banner_fliter_group', true );
        $banner_group = $banner_group_page ? $banner_group_page : $banner_group;

        return $banner_group;

    }

    public static function get_banner_array(){

        if( is_home() ){

            $banner_group = heku_get_option('template_main','banner_fliter_group');
            $banner_group_temp = array();
            foreach ($banner_group as $key => $value) {
                if(isset($value['banner_used']) && in_array( 'home_banner' ,$value['banner_used'])){
                    $banner_group_temp[] = $value;
                }
            }
            $banner_group = $banner_group_temp ? $banner_group_temp : $banner_group;

        } elseif( is_archive() || is_category() ){

            $banner_type = "home_banner";
            $post_type = get_post_type();
            $banner_type = $post_type ? $post_type . '_banner' : $banner_type;

            $banner_group = heku_get_option('template_main','banner_fliter_group');
            $banner_group_temp = array();
            foreach ($banner_group as $key => $value) {
                if(isset($value['banner_used']) && in_array( $banner_type ,$value['banner_used'])){
                    $banner_group_temp[] = $value;
                }
            }

            // $term = get_queried_object();
            // $term_id = $term->term_id;
            // $banner_group_term = get_term_meta($term_id,'banner_fliter_group',true);
            $banner_group = $banner_group_temp ? $banner_group_temp : '';
            // $banner_group .= "$post_type" ;
        } elseif( is_single() ){

            $banner_type = "home_banner";
            $post_type = get_post_type();
            $banner_type = $post_type ? $post_type . '_banner' : $banner_type;

            $banner_group = heku_get_option('template_main','banner_fliter_group');
            $banner_group_temp = array();
            foreach ($banner_group as $key => $value) {
                if(isset($value['banner_used']) && in_array( $banner_type ,$value['banner_used'])){
                    $banner_group_temp[] = $value;
                }
            }

            // $term = get_queried_object();
            // $term_id = $term->term_id;
            // $banner_group_term = get_term_meta($term_id,'banner_fliter_group',true);
            $banner_group = $banner_group_temp ? $banner_group_temp : '';
            // $banner_group .= "$post_type" ;
        } elseif( is_page() ){

            $banner_group_page = get_post_meta( get_the_ID(), 'banner_fliter_group', true );
            $banner_group = $banner_group_page ? $banner_group_page : '';

        } else{

            return '';

        }
        
        return $banner_group;

    }

}