<?php
use \Essential_Addons_Elementor\Classes\Helper;
use \Elementor\Group_Control_Image_Size;
/**
* Template Name: Two
*/
if (!defined('ABSPATH')) {
exit;
} // Exit if accessed directly
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
$thumbnail_html = '';
if ( $settings['eael_show_image'] == 'yes' ) {
$settings[ 'eael_image_size_customize' ] = [
'id' => get_post_thumbnail_id(),
];
$settings['eael_image_size_customize_size'] = $settings['image_size'];
$thumbnail_html = Group_Control_Image_Size::get_attachment_image_html( $settings,'eael_image_size_customize' );
if ( "" === $thumbnail_html && 'yes' === $settings['eael_show_fallback_img_all'] && !empty( $settings['eael_post_carousel_fallback_img_all']['url'] ) ) {
$fallback_image_id = $settings['eael_post_carousel_fallback_img_all']['id'];
$settings[ 'eael_image_size_customize' ] = [
'id' => $settings['eael_post_carousel_fallback_img_all']['id'],
];
$settings['eael_image_size_customize_size'] = $settings['image_size'];
$thumbnail_html = Group_Control_Image_Size::get_attachment_image_html( $settings,'eael_image_size_customize' );
}
}
global $authordata;
$author_link = $author_name = $author_url = '';
if ( is_object( $authordata ) ) {
$author_name = $authordata->display_name;
if ( ! $author_name && isset( $authordata->first_name ) ) {
$author_name = $authordata->first_name;
if ( isset( $authordata->last_name ) ) {
$author_name .= ' ' . $authordata->last_name;
}
}
$author_url = get_author_posts_url( $authordata->ID, $authordata->user_nicename );
$author_link = sprintf(
'<a href="%1$s" title="%2$s" rel="author">%3$s</a>',
esc_url( $author_url ),
/* translators: %s: Author's display name. */
esc_attr( sprintf( __( 'Posts by %s', 'essential-addons-for-elementor-lite' ), $author_name ) ),
$author_name
);
}
$enable_ratio = $settings['enable_postgrid_image_ratio'] == 'yes' ? 'eael-image-ratio':'';
$is_show_meta = 'yes' === $settings['eael_show_meta'];
$title_tag = isset($settings['title_tag']) ? Helper::eael_validate_html_tag($settings['title_tag']) : 'h2';
$css_classes = ' eael-post-grid-column eael-pg-post-'.get_the_ID();
$category_list= get_the_category();
$tags_list = get_the_tags();
if ( ! empty( $category_list ) ) {
$slugs = wp_list_pluck( $category_list, 'slug' );
$css_classes .= ' category-'.implode( '-', $slugs );
}
if ( ! empty( $tags_list ) ) {
$slugs = wp_list_pluck( $tags_list, 'slug' );
$css_classes .= ' tags-'.implode( '-', $slugs );
}
echo '<article class="eael-grid-post '. esc_attr( $css_classes ) .'" data-id="' . esc_attr( get_the_ID() ) . '">
<div class="eael-grid-post-holder">
<div class="eael-grid-post-holder-inner">';
if ( $thumbnail_html && 'yes' === $settings['eael_show_image'] ) {
echo '<div class="eael-entry-media">';
if ( 'yes' === $settings['eael_show_post_terms'] && 'yes' === $settings['eael_post_terms_on_image_hover'] ) {
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
echo Helper::get_terms_as_list($settings['eael_post_terms'], $settings['eael_post_terms_max_length']);
}
echo '<div class="eael-entry-overlay ' . esc_attr( $settings['eael_post_grid_hover_animation'] ) . '">';
if (isset($settings['eael_post_grid_bg_hover_icon_new']['url'])) {
echo '<img src="' . esc_url($settings['eael_post_grid_bg_hover_icon_new']['url']) . '" alt="' . esc_attr(get_post_meta($settings['eael_post_grid_bg_hover_icon_new']['id'], '_wp_attachment_image_alt', true)) . '" />';
} else {
echo '<i class="' . esc_attr( $settings['eael_post_grid_bg_hover_icon_new']['value'] ) . '" aria-hidden="true"></i>';
}
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
echo '<a href="' . esc_url( get_the_permalink() ) . '"' . $link_settings['image_link_nofollow'] . '' . $link_settings['image_link_target_blank'] . '></a>';
echo '</div>';
echo '<div class="eael-entry-thumbnail '. esc_attr( $enable_ratio ) .'">
'. wp_kses( $thumbnail_html, Helper::eael_allowed_icon_tags() ) .'
</div>
</div>';
}
if ($settings['eael_show_title'] || $settings['eael_show_meta'] || $settings['eael_show_excerpt']) {
echo '<div class="eael-entry-wrapper">';
if ($settings['eael_show_title']) {
echo '<header class="eael-entry-header"><' . esc_attr( $title_tag ) . ' class="eael-entry-title">';
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
echo '<a class="eael-grid-post-link" href="' . esc_url( get_the_permalink() ) . '" title="' . esc_attr( wp_strip_all_tags( get_the_title() ) ) . '"' . $link_settings['title_link_nofollow'] . '' . $link_settings['title_link_target_blank'] . '>';
if (empty($settings['eael_title_length'])) {
echo wp_kses( get_the_title(), Helper::eael_allowed_tags() );
} else {
echo wp_kses( implode(" ", array_slice(explode(" ", get_the_title()), 0, $settings['eael_title_length'])), Helper::eael_allowed_tags() );
}
echo '</a>';
echo '</' . esc_attr( $title_tag ) . '></header>';
}
if ( $is_show_meta && 'meta-entry-header' === $settings['meta_position'] ) {
echo '<div class="eael-entry-header-after style-two">';
if ( isset( $settings['eael_show_avatar_two'] ) && 'yes' === $settings['eael_show_avatar_two'] ) {
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
echo '<div class="eael-author-avatar"><a href="' . esc_url( $author_url ) . '">' . get_avatar( get_the_author_meta( 'ID' ), 96, '', $author_name ) . '</a></div>';
}
if ( $settings['eael_show_meta'] ) {
echo '<div class="eael-entry-meta">';
if ( isset( $settings['eael_show_author_two'] ) && 'yes' === $settings['eael_show_author_two'] ) {
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
echo '<span class="eael-posted-by">' . $author_link . '</span>';
}
if ($settings['eael_show_date'] === 'yes') {
echo '<span class="eael-posted-on eael-meta-posted-on"><i class="far fa-clock"></i><time datetime="' . get_the_date() . '">' . get_the_date() . '</time></span>';
}
echo '</div>';
}
echo '</div>';
}
if ($settings['eael_show_excerpt'] || $settings['eael_show_read_more_button']) {
echo '<div class="eael-entry-content">
<div class="eael-grid-post-excerpt">';
if ($settings['eael_show_excerpt']) {
if (empty($settings['eael_excerpt_length'])) {
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
echo '<p>' . strip_shortcodes(get_the_excerpt() ? get_the_excerpt() : get_the_content()) . '</p>';
} else {
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
echo '<p>' . wp_trim_words( strip_shortcodes(get_the_excerpt() ? get_the_excerpt() : get_the_content()), $settings['eael_excerpt_length'], $settings['excerpt_expanison_indicator'] ) . '</p>';
}
}
if ($settings['eael_show_read_more_button']) {
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
echo '<a href="' . esc_url( get_the_permalink() ) . '" class="eael-post-elements-readmore-btn"' . $link_settings['read_more_link_nofollow'] . '' . $link_settings['read_more_link_target_blank'] . '>' . Helper::eael_wp_kses($settings['read_more_button_text']) . '</a>';
}
echo '</div>
</div>';
}
if ( $is_show_meta && 'meta-entry-footer' === $settings['meta_position'] ) {
echo '<div class="eael-entry-header-after style-two">';
if ( isset( $settings['eael_show_avatar_two'] ) && 'yes' === $settings['eael_show_avatar_two'] ) {
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
echo '<div class="eael-author-avatar"><a href="' . esc_url( $author_url ) . '">' . get_avatar( get_the_author_meta( 'ID' ), 96, '', $author_name ) . '</a></div>';
}
echo '<div class="eael-entry-meta">';
if ( isset( $settings['eael_show_author_two'] ) && 'yes' === $settings['eael_show_author_two'] ) {
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
echo '<span class="eael-posted-by style-two-footer">' . $author_link . '</span>';
}
if ( 'yes' === $settings['eael_show_date'] ) {
echo '<span class="eael-meta-posted-on"><i class="far fa-clock"></i><time datetime="' . get_the_date() . '">' . get_the_date() . '</time></span>';
}
if ( 'yes' === $settings['eael_show_post_terms'] ) {
if ($settings['eael_post_terms'] === 'category') {
$terms = get_the_category();
}
if ($settings['eael_post_terms'] === 'tags') {
$terms = get_the_tags();
}
//For custom post type
$get_custom_post_type = get_post_type( get_the_ID() ); //post
if ( 'product' === $get_custom_post_type ) {
$get_custom_taxonomy = $settings['eael_post_terms'] === 'category' ? 'product_cat' : ( $settings['eael_post_terms'] === 'tags' ? 'product_tag' : $settings['eael_post_terms'] );
} else {
$get_custom_taxonomy = $settings["eael_{$get_custom_post_type}_terms"]; //tags
}
if( 'post' !== $get_custom_post_type && $settings[ 'eael_post_terms' ] === $get_custom_taxonomy ) {
$terms = wp_get_post_terms( get_the_ID(), $get_custom_taxonomy );
}
if (!empty($terms)) {
$html = '<ul class="post-meta-categories">';
$count = 0;
foreach ($terms as $term) {
if ($count === intval($settings['eael_post_terms_max_length'])) {
break;
}
if ($count === 0) {
$html .= '<li class="meta-cat-icon"><i class="far fa-folder-open"></i></li>';
}
$is_last_item = $count + 1 === intval($settings['eael_post_terms_max_length']) || $count + 1 === count( (array) $terms);
if ( ! empty( $term->name ) ) {
$eael_post_terms_separator = ! empty( $settings['eael_post_terms_separator'] ) ? wp_strip_all_tags( $settings['eael_post_terms_separator'] ) : '';
$eael_post_terms_separator = $is_last_item ? '' : $eael_post_terms_separator;
}
$link = ($settings['eael_post_terms'] === 'category') ? get_category_link($term->term_id) : get_tag_link($term->term_id);
$html .= '<li>';
$html .= '<a href="' . esc_url($link) . '">';
$html .= $term->name . " " . esc_html( $eael_post_terms_separator );
$html .= '</a>';
$html .= '</li>';
$count++;
}
$html .= '</ul>';
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
echo $html;
}
}
echo '</div>';
echo '</div>';
}
echo '</div>';
}
echo '</div>
</div>
</article>';
// phpcs:enable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound