Hey,
Komme bei einer Sache nciht weiter.
Über Custom Post Types können Nutzer einen Shop in unser System eintragen. Wenn diese Nutzer jetzt einen Blogbeitrag schreiben soll statt dem Benutzernamen der Name seines Shops und der Permalink dazu eingetragen werden. Das funktioniert auf der Startseite auch wunderbar.
Ich starte im normalen Loop einfach nochmal einen Custom-Loop und frage ab, welchen Shop der derzeitige Nutzer erstellt hat.
Im Loop trage ich dann ein.
Die Funktion dazu ist
function get_shop_author($author) {
$laeden = new WP_Query( array( 'post_type' => 'laeden', 'paged' => $paged ) );
if ($laeden->have_posts()) :
while ($laeden->have_posts()) : $laeden->the_post();
if(get_the_author() == $author){
if ($counter == 0){
$perm = get_permalink();
$field = get_field('shop_name');
$counter = $counter +1;
}
}
endwhile;
wp_reset_query();
return "<a href='".$perm."'>".$field."</a>";
endif;}
Alles anzeigen
Alles wunderbar.
Nun brauche ich das ganze nochmal auf ner eigenen Seite.
Auf der index.php wird alles zusammengefasst, weshalb das nicht als vollständiger Blog dienen kann.
Also habe ich eine eigene Seite erstellt und ein Template dazu ausgewählt - die blog.php. In diese hatte ich einfach nochmal die index.php hineinkopiert. Leider klappte das nicht. Plötzlich funktionierte der loop nicht mehr und deshalb hab ich ne Custom query gestartet.
<?php $posts = new WP_Query( array( 'post_type' => 'post', 'paged' => $paged, 'showposts'=> 15 ) ); ?>
<?php if ($posts->have_posts()) : ?>
<?php while ($posts->have_posts()) : $posts->the_post(); ?>
<li class="blogpost">
<h1><a href="<?php the_permalink(); ?>"><?php the_title();?></a></h1>
<div class="info">
<?php
$laeden = new WP_Query( array( 'post_type' => 'laeden', 'paged' => $paged ) );
if ($laeden->have_posts()) :
while ($laeden->have_posts()) : $laeden->the_post();
if(get_the_author() == $author){
if ($counter == 0){
$perm = get_permalink();
$field = get_field('shop_name');
$counter = $counter +1;
}
}
endwhile;
wp_reset_postdata();
return "<a href='".$perm."'>".$field."</a>";
endif;
?>
<?php the_content();?>
</div>
</li>
<?php endwhile; ?>
<?php endif; ?>
Alles anzeigen
Er ruft die Seite zwar auf und den Shop zeigt er auch statt dem Autorennamen an, aber dann bricht er ab und kommt nicht in den alten query zurück, obwohl ich ja ein query reset mache. Nen neuen Query kann ich ja auch nicht einfach starten. Aber das "the_content()" muss ja nunmal auch noch mit rein.
Kann mir da jemand helfen? Vllt habe ich auch einfahc nur ein brett vorm Kopf, aber ich versuche das jetzt schon mehrere Studnen und mir fällt auch nciht mehr ein, wonach ich noch googlen könnte.
Ich danke euch für eure Hilfe