'grid',
'columns' => 4,
'items' => get_option('posts_per_page', 12), // WordPress Einstellung, Fallback: 12
'contents' => 'excerpt',
'preview_mode' => 'auto',
'image_size' => 'portfolio',
'paginate' => 'yes',
'class' => '',
'show_modified_date' => 'no', // 'yes' oder 'no' - zeigt "Updated: XX" wenn Post bearbeitet wurde
'orderby' => 'date', // 'date', 'modified', 'title', 'rand', 'comment_count', 'menu_order'
'order' => 'DESC', // 'DESC' (neueste zuerst) oder 'ASC' (älteste zuerst)
);
/**
* Filter für Author Loop Argumente
*
* @param array $default_args Die Standard-Argumente
* @param string $context Immer 'author' für diese Loop
* @return array Gefilterte Argumente
*/
$atts = apply_filters( 'avf_author_loop_args', $default_args, 'author' );
// Check if we got posts to display (nutzt die WordPress Haupt-Query):
if( have_posts() )
{
// Grid Container starten
$grid_class = 'av-author-grid-container';
if( $atts['type'] == 'grid' ) {
$grid_class .= ' av-author-grid';
// Spalten-Klasse hinzufügen
$grid_class .= ' av-columns-' . $atts['columns'];
}
/**
* Filter für zusätzliche CSS Klassen
*/
$grid_class = apply_filters( 'avf_author_loop_classes', $grid_class, 'author', $atts );
echo '
';
while( have_posts() )
{
the_post();
$post_id = get_the_ID();
$image_size = $atts['image_size'];
$post_format = get_post_format() ? get_post_format() : 'standard';
// Image holen
$thumbnail = get_the_post_thumbnail( $post_id, $image_size );
// Content basierend auf Einstellung
$show_content = '';
if( in_array( $atts['contents'], array('excerpt', 'excerpt_read_more') ) ) {
$show_content = get_the_excerpt();
} elseif( $atts['contents'] == 'content' ) {
$show_content = get_the_content();
}
// Meta Info sammeln
$meta_info = array();
$meta_separator = '
/';
// Published Date (aus Enfold Einstellungen)
if( 'blog-meta-date' == avia_get_option( 'blog-meta-date' ) ) {
$meta_info['date'] = '
';
}
// Modified Date (optional über Filter steuerbar)
if( $atts['show_modified_date'] == 'yes' ) {
$published_date = get_the_date( get_option('date_format'), $post_id );
$modified_date = get_the_modified_date( get_option('date_format'), $post_id );
// Nur anzeigen wenn tatsächlich bearbeitet wurde
if( $published_date != $modified_date ) {
$meta_info['modified'] = '
';
}
}
if( 'blog-meta-comments' == avia_get_option( 'blog-meta-comments' ) ) {
if( get_comments_number() != '0' || comments_open() ) {
ob_start();
comments_popup_link(
"0 " . __( 'Comments', 'avia_framework' ),
"1 " . __( 'Comment' , 'avia_framework' ),
"% " . __( 'Comments', 'avia_framework' ),
'comments-link',
__( 'Comments Disabled', 'avia_framework' )
);
$meta_info['comments'] = '';
}
}
$taxonomies = get_object_taxonomies( get_post_type( $post_id ) );
$cats = '';
$excluded_taxonomies = array_merge( get_taxonomies( array( 'public' => false ) ), array( 'post_tag', 'post_format' ) );
$excluded_taxonomies = apply_filters( 'avf_exclude_taxonomies', $excluded_taxonomies, get_post_type( $post_id ), $post_id, 'loop-author' );
if( ! empty( $taxonomies ) ) {
foreach( $taxonomies as $taxonomy ) {
if( ! in_array( $taxonomy, $excluded_taxonomies ) ) {
$cats .= get_the_term_list( $post_id, $taxonomy, '', ', ','' ) . ' ';
}
}
}
if( 'blog-meta-category' == avia_get_option( 'blog-meta-category' ) && ! empty( $cats ) ) {
$meta_info['categories'] = '
' . __( 'in', 'avia_framework') . ' ' . trim( $cats ) . '';
}
$meta_info = apply_filters( 'avf_post_metadata_array', $meta_info, 'loop-author' );
// Parity für Spalten (nicht mehr nötig bei Grid, aber für Kompatibilität)
$parity = '';
$first = $post_loop_count == 1 ? 'first' : '';
?>
'; // Ende Grid Container
// Pagination - genau wie in loop-index.php
if( ! isset( $avia_config['remove_pagination'] ) && $atts['paginate'] == 'yes' ) {
echo '';
}
}
else
{
// Nichts gefunden
$default_heading = 'h1';
$args = array(
'heading' => $default_heading,
'extra_class' => ''
);
$args = apply_filters( 'avf_customize_heading_settings', $args, 'loop_author::nothing_found', array() );
$heading = ! empty( $args['heading'] ) ? $args['heading'] : $default_heading;
$css = ! empty( $args['extra_class'] ) ? $args['extra_class'] : '';
$aria_label = 'aria-label="' . __( 'No Author Archive Posts Found', 'avia_framework' ) . '"';
$aria_label = apply_filters( 'avf_aria_label_for_header', $aria_label, __FILE__, [] );
?>
'entry_content' ) ); ?>>