template = $template; return $this; } /** * [get description] * * @return [type] [description] */ function get() { $data = (array) $this->blog(); switch ( $this->template ) { case 'blog': case 'author': case 'search': case 'tag': case '404': case 'category': case 'archive': return $this->blog( $this->template ); break; case 'product': return $this->single( $this->template ); break; case 'single': return $this->single( $this->template ); break; case 'single-team': return $this->single( $this->template ); break; case 'single-project': return $this->single( $this->template ); break; case 'single-service': return $this->single( $this->template ); break; default: #code... break; } } /** * Blog pages banner, sidebar and layout data. * * @param string $template The tempalte need to return the data for. * * @return [type] [description] */ function blog( $template = 'blog' ) { global $wp_query; $options = thinkai_WSH()->option(); if ( ( $wp_query->is_posts_page && 'blog' == $template ) || $template == 'page' ) { $page_id = ( $wp_query->is_posts_page ) ? $wp_query->queried_object->ID : get_the_ID(); $return = [ 'layout' => thinkai_meta( 'sidebar_sidebar_layout', $page_id, 'right' ), 'sidebar_type' => thinkai_meta( 'sidebar_source_type', $page_id, 'd' ), 'sidebar_elementor' => thinkai_meta( 'sidebar_elementor_template', $page_id ), 'sidebar' => thinkai_meta( 'sidebar_page_sidebar', $page_id, 'default-sidebar' ), 'banner_type' => thinkai_meta( 'banner_source_type', $page_id ), 'banner_elementor' => thinkai_meta( 'banner_elementor_template', $page_id ), 'banner' => thinkai_set( thinkai_meta( 'banner_page_background', $page_id ), 'url' ), 'banner_image' => thinkai_set( thinkai_meta( 'banner_banner_image', $page_id ), 'url' ), 'title' => thinkai_meta( 'banner_banner_title', $page_id ), 'features_list' => thinkai_meta( 'banner_banner_list', $page_id ), 'enable_banner' => thinkai_meta( 'banner_page_banner', $page_id ), ]; } else { $enable_banner = $template . '_page_banner'; $title = $template . '_banner_title'; $features_list = $template . '_banner_list'; $banner = $template . '_page_background'; $banner_image = $template . '_banner_banner_image'; $layout = $template . '_sidebar_layout'; $sidebar = $template . '_page_sidebar'; $bg = $options->get( $banner ); $return = [ 'enable_banner' => $options->get( $enable_banner ), 'title' => $options->get( $title ) ? $options->get( $title ) : thinkai_the_title( $template ), 'features_list' => $options->get( $features_list ) ? $options->get( $features_list ) : thinkai_the_title( $template ), 'banner' => thinkai_set( $bg, 'url' ), 'banner_image' => thinkai_set( $banner_image, 'url' ), 'sidebar' => $options->get( $sidebar, 'default-sidebar' ), 'layout' => $options->get( $layout, 'right' ), ]; } $return['tpl-type'] = $options->get( $template . '_source_type' ); $return['tpl-elementor'] = $options->get( $template . '_elementor_template' ); $return['author'] = $options->get( $template . '_post_author' ); $return['date'] = $options->get( $template . '_post_date' ); $return['comments'] = $options->get( $template . '_post_comments' ); return new DotNotation( $return ); } /** * Post detail and custom post types datail meta. * * @param string $template The template for which data is need to be returned. * * @return [type] [description] */ public function single( $template = 'single' ) { global $wp_query; $options = thinkai_WSH()->option(); $page_id = ( $wp_query->is_posts_page ) ? $wp_query->queried_object->ID : get_the_ID(); if(is_woocommerce()) { if(is_shop()){ $page_id = get_option( 'woocommerce_shop_page_id' ); }elseif(is_cart()){ $page_id = get_option( 'woocommerce_cart_page_id' ); }elseif(is_checkout()){ $page_id = get_option( 'woocommerce_checkout_page_id' ); }elseif(is_account_page()){ $page_id = get_option( 'woocommerce_myaccount_page_id' ); }else{ $page_id = ( $wp_query->is_posts_page ) ? $wp_query->queried_object->ID : get_the_ID(); } } $title = thinkai_meta( 'banner_banner_title', $page_id ); $features_list = thinkai_meta( 'banner_banner_list', $page_id ); $banner_image = thinkai_meta( 'banner_banner_image', $page_id ); $return = [ 'tpl-type' => $options->get( $template . '_source_type', 'd' ), 'tpl-elementor' => $options->get( $template . '_elementor_template' ), 'layout' => thinkai_meta( 'sidebar_sidebar_layout', $page_id, 'right' ), 'sidebar_type' => thinkai_meta( 'sidebar_source_type', $page_id, 'd' ), 'sidebar_elementor' => thinkai_meta( 'sidebar_elementor_template', $page_id ), 'sidebar' => thinkai_meta( 'sidebar_page_sidebar', $page_id, 'default-sidebar' ), 'banner_type' => thinkai_meta( 'banner_source_type', $page_id ), 'banner_elementor' => thinkai_meta( 'banner_elementor_template', $page_id ), 'banner' => thinkai_set( thinkai_meta( 'banner_page_background', $page_id ), 'url' ), 'banner_image' => thinkai_set( thinkai_meta( 'banner_banner_image', $page_id ), 'url' ), 'title' => ($title), 'features_list' => ($features_list), 'enable_banner' => thinkai_meta( 'banner_page_banner', $page_id ), 'date' => $options->get( 'single_post_date', 1 ), 'author' => $options->get( 'single_post_author', 1 ), 'comments' => $options->get( 'single_post_comments', 1 ), 'tag' => $options->get( 'single_post_tag' ), 'share' => $options->get( 'single_post_share' ), 'share_list' => $options->get( 'single_social_share' ), 'author_box' => $options->get( 'single_post_author_box' ), ]; return new DotNotation( $return ); } }