PATH:
home
/
thebhoeo
/
public_html
/
wp-content
/
themes
/
woodmart
/
inc
/
modules
/
layouts
<?php /** * Single post layout. * * @package woodmart */ namespace XTS\Modules\Layouts; use WP_Query; /** * Single post layout class. */ class Single_Post extends Layout_Type { /** * Check. * * @param array $condition Condition. * @param string $type Layout type. */ public function check( $condition, $type = '' ) { global $post; if ( 'post_format' !== $condition['condition_type'] ) { $condition['condition_query'] = apply_filters( 'wpml_object_id', $condition['condition_query'], $condition['condition_type'] ); } $is_active = false; $type = str_replace( 'single_', '', $type ); switch ( $condition['condition_type'] ) { case 'all': $is_active = is_singular( $type ) || ( wp_is_serving_rest_request() && ! empty( $post ) && $type === $post->post_type ); break; case 'post_id': case 'project_id': $is_active = (int) get_the_ID() === (int) $condition['condition_query']; break; case 'post_cat': case 'project_cat': case 'post_tag': $taxonomy = 'category'; if ( 'post_tag' === $condition['condition_type'] ) { $taxonomy = 'post_tag'; } elseif ( 'project_cat' === $condition['condition_type'] ) { $taxonomy = 'project-cat'; } $terms = wp_get_post_terms( get_the_ID(), $taxonomy, array( 'fields' => 'ids' ) ); if ( $terms ) { $is_active = in_array( (int) $condition['condition_query'], $terms, true ); } break; case 'post_format': $post_format = get_post_format(); $is_active = $post_format === $condition['condition_query']; break; } return $is_active; } /** * Override templates. * * @param string $template Template. * * @return bool|string */ public function override_template( $template ) { if ( ( is_singular( 'post' ) && Main::get_instance()->has_custom_layout( 'single_post' ) ) || ( is_singular( 'portfolio' ) && Main::get_instance()->has_custom_layout( 'single_portfolio' ) ) ) { $this->display_template(); return false; } return $template; } /** * Display custom template on the single page. */ protected function display_template() { parent::display_template(); $this->before_template_content(); $single_post = Main::get_instance()->has_custom_layout( 'single_post' ); $single_portfolio = Main::get_instance()->has_custom_layout( 'single_portfolio' ); ?> <?php while ( have_posts() ) : ?> <?php the_post(); ?> <article id="post-<?php the_ID(); ?>" <?php post_class( ( $single_post || $single_portfolio ) && 'native' === woodmart_get_opt( 'current_builder' ) ? 'entry-content' : '' ); ?>> <?php if ( $single_post ) : ?> <?php $this->template_content( 'single_post' ); ?> <?php elseif ( $single_portfolio ) : ?> <?php $this->template_content( 'single_portfolio' ); ?> <?php endif; ?> </article> <?php endwhile; ?> <?php $this->after_template_content(); } /** * Get preview post id. * * @param string $type Layout type. * @return int */ public static function get_preview_post_id( $type = '' ) { if ( 'post' === $type || Main::get_instance()->has_custom_layout( 'single_post' ) ) { $post_id = woodmart_get_opt( 'single_post_builder_post_data' ); $post_type = 'post'; if ( $post_id ) { return $post_id; } } elseif ( 'portfolio' === $type || Main::get_instance()->has_custom_layout( 'single_portfolio' ) ) { $post_id = woodmart_get_opt( 'single_project_builder_post_data' ); $post_type = 'portfolio'; if ( $post_id ) { return $post_id; } } else { return 0; } $random_post = new WP_Query( array( 'posts_per_page' => '1', 'post_type' => $post_type, ) ); while ( $random_post->have_posts() ) { $random_post->the_post(); $post_id = get_the_ID(); } wp_reset_postdata(); return $post_id; } /** * Setup post data. */ public static function setup_postdata() { global $post; $is_layout = Main::is_layout_type( 'single_post' ) || Main::is_layout_type( 'single_portfolio' ); if ( ( $is_layout && ( ( $post && 'woodmart_layout' === $post->post_type ) || is_singular( 'woodmart_layout' ) || wp_doing_ajax() || ( isset( $_POST['action'] ) && 'editpost' === $_POST['action'] ) || // phpcs:ignore ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) ) ) || ( wp_is_post_revision( $post ) ) ) { $post_id = self::get_preview_post_id(); $post = get_post( $post_id ); // phpcs:ignore setup_postdata( $post ); } } /** * Reset post data. */ public static function reset_postdata() { if ( is_singular( 'woodmart_layout' ) || wp_doing_ajax() ) { wp_reset_postdata(); } } /** * Get body classes. * * @param array $classes Classes for the body element. * @return array */ public function get_body_classes( $classes ) { parent::get_body_classes( $classes ); if ( is_singular( 'woodmart_layout' ) ) { if ( Main::get_instance()->has_custom_layout( 'single_portfolio' ) ) { $classes[] = 'single-portfolio'; } elseif ( Main::get_instance()->has_custom_layout( 'single_post' ) ) { $classes[] = 'single-post'; } } return $classes; } } Single_Post::get_instance();
[+]
elementor
[-] class-layout-type.php
[edit]
[-] class-shop-archive.php
[edit]
[+]
assets
[-] class-thank-you-page.php
[edit]
[-] class-cart.php
[edit]
[-] class-single-post.php
[edit]
[-] class-posts-archive.php
[edit]
[+]
wpb
[-] class-global-data.php
[edit]
[+]
admin
[+]
..
[-] class-loop-item.php
[edit]
[-] class-my-account.php
[edit]
[-] class-single-product.php
[edit]
[-] class-main.php
[edit]
[-] class-checkout.php
[edit]