Bin noch relativ neu in Wordpress und möchte eine schon bestehende Seite anpassen.
Ich möchte auf einer Seite mithilfe eines Shortcode eine Liste aller registrierten Mitglieder anzeigen und es gibt eine entsprechende Shortcode-Funktion mit einem Loop. Das funktioniert.
Ebenso generiere ich in der page.php eine Sidebar, die das eingestellte Beitragsbild der Seite anzeigen soll.
Dieses wird aber leider vom letzten Post aus dem Loop überschrieben.
Wie kann ich das ändern?
Auszug functions.php
...
PHP
function getMembers()
{
$html = '<div class="row members-list">';
$args = array( 'post_type' => 'mitglieder', 'posts_per_page' => 30, 'orderby' => 'title', 'order' => 'ASC' );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
$default_attr = array(
'alt' => trim(strip_tags(get_the_title())),
'title' => trim(strip_tags(get_the_title())),
);
$img = get_the_post_thumbnail(get_the_ID(),'thumbnail',$default_attr);
$field_wohnort = get_field( "wohnort" );
$html .= '<div class="small-4 medium-3 large-2 columns end member-item">';
if($img){
$html .= '<a href="'.get_permalink().'" title="'.get_the_title().'">'.$img.'</a>';
}
$html .= '<p>';
$html .= '<strong>'.get_the_title().'</strong><br/>';
$html .= $field_wohnort;
$html .= '</p>';
$html .= '</div>';
endwhile;
$html .= '</div>';
return $html;
}
add_shortcode( 'members', 'getMembers' );
Alles anzeigen
Auszug page.php
...