138 lines
4.1 KiB
PHP
Executable File
138 lines
4.1 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* Template part for displaying a post of post type 'attachment'
|
|
*
|
|
* @package kadence
|
|
*/
|
|
|
|
namespace Kadence;
|
|
|
|
if ( ! is_singular( 'attachment' ) ) {
|
|
?>
|
|
|
|
<article <?php post_class( 'entry content-bg loop-entry' ); ?>>
|
|
<?php
|
|
$defaults = array(
|
|
'enabled' => true,
|
|
'ratio' => '2-3',
|
|
'size' => 'medium_large',
|
|
'imageLink' => true,
|
|
);
|
|
$slug = ( is_search() ? 'search' : get_post_type() );
|
|
$feature_element = kadence()->option( $slug . '_archive_element_feature', $defaults );
|
|
if ( isset( $feature_element ) && is_array( $feature_element ) && true === $feature_element['enabled'] ) {
|
|
$feature_element = wp_parse_args( $feature_element, $defaults );
|
|
$ratio = ( isset( $feature_element['ratio'] ) && ! empty( $feature_element['ratio'] ) ? $feature_element['ratio'] : '2-3' );
|
|
$size = ( isset( $feature_element['size'] ) && ! empty( $feature_element['size'] ) ? $feature_element['size'] : 'medium_large' );
|
|
if ( isset( $feature_element['imageLink'] ) && ! $feature_element['imageLink'] ) {
|
|
?>
|
|
<div class="post-thumbnail kadence-thumbnail-ratio-<?php echo esc_attr( $ratio ); ?>">
|
|
<div class="post-thumbnail-inner">
|
|
<?php
|
|
echo wp_get_attachment_image(
|
|
get_the_ID(),
|
|
$size,
|
|
false,
|
|
array(
|
|
'alt' => the_title_attribute(
|
|
array(
|
|
'echo' => false,
|
|
)
|
|
),
|
|
)
|
|
);
|
|
?>
|
|
</div>
|
|
</div><!-- .post-thumbnail -->
|
|
<?php
|
|
} else {
|
|
?>
|
|
<a class="post-thumbnail kadence-thumbnail-ratio-<?php echo esc_attr( $ratio ); ?>" href="<?php the_permalink(); ?>">
|
|
<div class="post-thumbnail-inner">
|
|
<?php
|
|
echo wp_get_attachment_image(
|
|
get_the_ID(),
|
|
$size,
|
|
false,
|
|
array(
|
|
'alt' => the_title_attribute(
|
|
array(
|
|
'echo' => false,
|
|
)
|
|
),
|
|
)
|
|
);
|
|
?>
|
|
</div>
|
|
</a><!-- .post-thumbnail -->
|
|
<?php
|
|
}
|
|
}
|
|
?>
|
|
<div class="entry-content-wrap">
|
|
<?php
|
|
/**
|
|
* Hook for entry content.
|
|
*
|
|
* @hooked Kadence\loop_entry_header - 10
|
|
* @hooked Kadence\loop_entry_summary - 20
|
|
* @hooked Kadence\loop_entry_footer - 30
|
|
*/
|
|
do_action( 'kadence_loop_entry_content' );
|
|
?>
|
|
</div>
|
|
</article>
|
|
|
|
<?php
|
|
}
|
|
if ( is_singular( 'attachment' ) ) {
|
|
?>
|
|
|
|
<article id="post-<?php the_ID(); ?>" <?php post_class( 'entry' ); ?>>
|
|
<?php get_template_part( 'template-parts/content/entry_header', get_post_type() ); ?>
|
|
|
|
<?php get_template_part( 'template-parts/content/entry_content', get_post_type() ); ?>
|
|
|
|
<?php get_template_part( 'template-parts/content/entry_footer', get_post_type() ); ?>
|
|
</article><!-- #post-<?php the_ID(); ?> -->
|
|
|
|
<?php
|
|
}
|
|
if ( is_singular( get_post_type() ) ) {
|
|
// Show attachment navigation only when the attachment has a parent.
|
|
if ( ! empty( $post->post_parent ) ) {
|
|
|
|
// TODO: There should be a WordPress core function for this, similar to `the_post_navigation()`.
|
|
$attachment_navigation = '';
|
|
|
|
ob_start();
|
|
previous_image_link( false );
|
|
$prev_link = ob_get_clean();
|
|
if ( ! empty( $prev_link ) ) {
|
|
$attachment_navigation .= '<div class="nav-previous">';
|
|
$attachment_navigation .= '<div class="post-navigation-sub"><span>' . esc_html__( 'Previous:', 'kadence' ) . '</span></div>';
|
|
$attachment_navigation .= $prev_link;
|
|
$attachment_navigation .= '</div>';
|
|
}
|
|
|
|
ob_start();
|
|
next_image_link( false );
|
|
$next_link = ob_get_clean();
|
|
if ( ! empty( $next_link ) ) {
|
|
$attachment_navigation .= '<div class="nav-next">';
|
|
$attachment_navigation .= '<div class="post-navigation-sub"><span>' . esc_html__( 'Next:', 'kadence' ) . '</span></div>';
|
|
$attachment_navigation .= $next_link;
|
|
$attachment_navigation .= '</div>';
|
|
}
|
|
|
|
if ( ! empty( $attachment_navigation ) ) {
|
|
echo _navigation_markup( $attachment_navigation, $class = 'post-navigation', __( 'Post navigation', 'kadence' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
|
}
|
|
}
|
|
|
|
// Show comments only when the post type supports it and when comments are open or at least one comment exists.
|
|
if ( post_type_supports( get_post_type(), 'comments' ) && ( comments_open() || get_comments_number() ) ) {
|
|
comments_template();
|
|
}
|
|
}
|