Super, jetzt hat alles geklappt! Der Fehler wär mir nie aufgefallen, wenn ich nicht einmal Slug und Kategorie anders genannt hätte :D Ist ja echt nice, was man mit Wordpress alles machen kann^^
Beiträge von BigDane
-
-
der pastebin-code hat noch keine benutzer-feld-abfrage fuer die post-anzahl; gibt es evtl noch eine andere datei irgendwo?
Wie muss die Abfrage aussehen? geht das nicht einfach über dieses posts_per_page? Das habe ich ja bisher nur statisch (wär das sonst equivalent zum Newstopic?)Also er wirft im Moment die Fehleranzeige, dass er keine Kategorie gefunden hat. Das obwohl ich überprüft hab, dass der name das benutzerdefinierten Feldes und der inhalt richtig geschrieben sind und der Slug existiert.
Hat jemand eine Idee?
-
Also im Grunde soll das Template folgendes machen:
1) Inhalt der Page anzeigen
2) Darunter eine bestimmte Anzahl an Posts aus einer Kategorie postenSowohl die anzahl als auch die Kategorie wird als benutzerdefiniertes Feld eingestellt.
Was schief läuft: Das Template zeigt alle Posts aus allen Kategorien läuft.
Hier der Code:
http://pastebin.com/P3QgNa8L -
Also jetzt geht weder die eine noch die andere Bedingung. habe ich das denn richtig umgebaut?
PHP
Alles anzeigen<?php $newstopic = get_post_meta($posts[0]->ID, 'newstopic', true); if ($newstopic) : //der zweite loop wird nur verwendet wenn das benutzerfeld ausgefuellt ist// $cat = get_cat_ID($newstopic); $cat_slug = get_category($cat)->slug; ?> <?php query_posts('post_per_page=6&category_name=' . $cat_slug); ?> <?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?> <div class="newswrapper"><!-- wrapper --> <div id="post-<?php the_ID();?>" <?php post_class();?>> <h2 class="entry-content-title"><a href="<?php the_permalink() ?>"><?php the_title();?></a></h2> <div class="entry-content"> <?php $teaser = get_post_custom_values('teaser');?> <?php if(!(empty($teaser))) { ?><?php echo $teaser[0];?><?php }?> <a href="<?php the_permalink() ?>"> Mehr erfahren »</a> </div><!-- .entry-content --> </div><!-- #post-## --> </div><!-- wrapper ende --> <?php endwhile;?> <?php wp_reset_query(); //NEU ?> <?php endif; //ende vom if ($category) : bereich// ?> </div><!--#news --> </div><!-- #content --> </div><!-- #container --> <?php get_sidebar();?> <?php get_footer();?> -
Also ich habs versucht, aber er nimmt nur das erste Argument was ich ihm gebe, wie verknüpfe ich die? oder was hab ich sonst falsch gemacht? anbei der Code und etwa mittig ist der fragliche bereich. Ich denke ich schreibe $args falsch, aber ich habs genau wie bei beispielen aus euren Links gemacht.
PHP
Alles anzeigen<?php /** * * Template Name: mod_list2 * The template displays the Headline & Content of the Page and aftwerwards all Posts of the Category, which is chosen in the costum field 'newstopic' * New on vers.2: Limit the number of posts by chose the costum field 'anzahlposts' * * @package WordPress * @subpackage STTF * @since STTF 1.0 */ get_header(); ?> <div id="container"> <div id="content" role="main"> <?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?><div id="start"> <div class="title"><h2><?php the_title();?></h2></div> <?php the_content();?> </div> <?php endwhile;?> <div id="news"> <div class="entry-title"> <h3>News</h3> </div> <?php $newstopic = get_post_meta($posts[0]->ID, 'newstopic', true); if ($newstopic) : //der zweite loop wird nur verwendet wenn das benutzerfeld ausgefuellt ist// $cat = get_cat_ID($newstopic); $cat_slug = get_category($cat)->slug; ?> <?php query_posts('category_name=' . $cat_slug);?> <?php $args = array( 'posts_per_page' => get_post_meta($posts[0]->ID, 'anzahlposts', true), 'category_name=' . $cat_slug ); $the_query = new WP_Query( $args ); ?> <?php if ( have_posts() ) while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <div class="newswrapper"><!-- wrapper --> <div id="post-<?php the_ID();?>" <?php post_class();?>> <h2 class="entry-content-title"><a href="<?php the_permalink() ?>"><?php the_title();?></a></h2> <div class="entry-content"> <?php $teaser = get_post_custom_values('teaser');?> <?php if(!(empty($teaser))) { ?><?php echo $teaser[0];?><?php }?> <a href="<?php the_permalink() ?>"> Mehr erfahren »</a> </div><!-- .entry-content --> </div><!-- #post-## --> </div><!-- wrapper ende --> <?php endwhile;?> <?php wp_reset_query(); //NEU ?> <?php endif; //ende vom if ($category) : bereich// ?> </div><!--#news --> </div><!-- #content --> </div><!-- #container --> <?php get_sidebar();?> <?php get_footer();?> -
Wow, also ich bin jetzt echt überrascht wie praktisch Wordpress ist. Lässt sich die Anzahl der Posts irgendwie limitieren? außer nicht zu viele rein zu tun? Kann ich statt dem : have_post() auch : 6 oder so schreiben oder bricht er dann ab wenn cih weniger Posts drin habe?
-
Ah cool, es klappt!
Nur zum Verständnis: Mit dem ersten Loop lade ich meinen Pagecontent oder so rein, weil dei Page ja mit dem Template versehen ist, das Template also weiß auf welcher Page es sich befindet. Der schließt sich dann. Danach wechsel ich die Posts, die vom Loop ausgewählt sind und starte dann einen zweiten Loop.
Ist das inhaltlich richtig so? Kann ich jetzt theoretisch der Page auch in einem Costum Field sagen welche Kategorie es anwählen soll? Wenn ja wie? Das würd mit ja unheimlich viel schreibarbeit sparen und Wordpress endgültig auf meine #1 der CMS setzen ^^Vielen Dank nochmal für die schnelle Antwort!
-
Hallo,
ich würde gern wissen wie ich auf einer Page gleichzeitig den Inhalt der Page den ich im Adminbereich ja schreiben und gestalten kann anzeigen lassen kann und dabei Posts aus einer Kategorie anzeigen lassen kann. Ich habe es per Template schon hinbekommen, dass mir alle Posts einer Kategorie angezeigt werden, nur die der Page sind dann weg.
Vielen Dank schonmal für die Hilfe ;)
P.S.:Hier mein Versuch:PHP
Alles anzeigen<?php /** * * Template Name: list_news * The template for displaying all pages. * * This is the template that displays all pages by default. * Please note that this is the wordpress construct of pages * and that other 'pages' on your wordpress site will use a * different template. * * @package WordPress * @subpackage STTF * @since STTF 1.0 */ get_header(); ?> <div id="container"> <div id="content" role="main"> <?php query_posts('category_name=news'); ?> <?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?> <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <h2 class="entry-title"><?php the_title(); ?></h2> <div class="entry-content"> <?php $teaser = get_post_custom_values('teaser'); ?>; <?php if(!(empty($teaser))) { ?><?php echo $teaser[0]; ?><?php } ?> <a href="<?php the_permalink() ?>"> Mehr erfahren </a> </div><!-- .entry-content --> </div><!-- #post-## --> <?php endwhile; ?> </div><!-- #content --> </div><!-- #container --> <?php get_sidebar(); ?> <?php get_footer(); ?>