page banner的完整逻辑写法

 // Set default title if not provided
    if (!isset($args['title'])) {
        if (is_singular()) {
            $args['title'] = get_the_title();
        } elseif (is_tax() || is_category() || is_tag()) {
            $args['title'] = single_term_title('', false);
        } elseif (is_post_type_archive()) {
            $args['title'] = post_type_archive_title('', false);
        } elseif (is_archive()) {
            $args['title'] = get_the_archive_title();
        } elseif (is_search()) {
            $args['title'] = 'Search Results for: ' . get_search_query();
        } elseif (is_404()) {
            $args['title'] = '404 - Page Not Found';
        } elseif (is_home()) {
            $args['title'] = get_bloginfo('name');
        } else {
            $args['title'] = get_bloginfo('name');
        }
    }
    
    // Set subtitle if not provided
    if (!isset($args['subtitle'])) {
        $args['subtitle'] = '';
    }
    
    // Set banner image if not provided
    if (!isset($args['img'])) {
        if (is_singular()) {

            $banner_meta = get_post_meta(get_the_ID(), 'page_banner', true);

            $banner_img = wp_get_attachment_image_url( $banner_meta, 'full' );
            if (!empty($banner_meta)) {
                $args['img'] = $banner_img;
            } else {
                $banner_meta = ha_get_option('default_banner');
                $banner_img = wp_get_attachment_image_url( $banner_meta, 'full' );

                $args['img'] = $banner_img;
            }
        } elseif (is_tax() || is_category() || is_tag()) {
            $banner_meta = get_term_meta(get_queried_object_id(), 'page_banner', true);
             $banner_img = wp_get_attachment_image_url( $banner_meta, 'full' );
            if (!empty($banner_meta)) {
                $args['img'] = $banner_img;
            } else {
                 $banner_meta = ha_get_option('default_banner');
                $banner_img = wp_get_attachment_image_url( $banner_meta, 'full' );

                $args['img'] = $banner_img;
                $args['img'] = ha_get_option('default_banner');
            }
        } else {

             $banner_meta = ha_get_option('default_banner');
                $banner_img = wp_get_attachment_image_url( $banner_meta, 'full' );

                $args['img'] = $banner_img;
        }
    }
    
    // Ensure we have a fallback image
    if (empty($args['img'])) {
        $args['img'] = get_template_directory_uri() . '/assets/images/default-banner.jpg';
    }
×
page banner的完整逻辑写法

page banner的完整逻辑写法

// Set default title...