Danke, aber so ist das ganze Design zerschossen.
So funktioniert der Code leider nicht
Startseitenaufteilung Problem
-
-
- Gerade eben
- Anzeige
Hallo!
Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.
- ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
- ✔️ Deutsche Server & DSGVO-konform
- ✔️ Persönlicher Support (kein 0815-Ticket-System)
-
Da ich weder dein Theme, noch dein Stylesheet, noch deine Anforderungen an die HTML-Struktur uswusf. kenne, kann ich leider nur raten, und mich an den Informationen festhalten, die du hier gibst.
Ich hab aber in meinem Code oben mal eine Kleinigkeit verändert.
Aber ehrlich gesagt, so langsam hab ich keine Lust mehr, dir weiter zu helfen, wenn du weder Eigeninitiative beim Ausprobieren zeigst und dir jede Problembeschreibung aus der Nase ziehen lässt. Ich hab dich bereits mehrfach gebeten, eine vernünftige Problembeschreibung zu posten. :neutral:
Versuch den Code mal zu verstehen, Kommentare und Erklärungen hast du ja mittlerweile einige von mir bekommen. Wenn du den Code verstehst, dann wirst du auch das Theme selbstständig weiter ausbauen können.
-
Ich denke Du siehst das falsch Marx. Ich beschäftige mich sehr mit dem was Du schreibst und probieren tu ich den ganzen Tag:)
Aber mal so rein grundsätzlich:
Ziel bei mir ist, aus verschiedenen Kategorien eine bestimmte Anzahl an Beiträgen auf der Startseite ausgeben zu lassen.
Also von Kategorie 1, 4 Stück
Kategorie 2, 3 Stück
Kategroie 3, 3 Stück
Kategorie 4, 3 Stück.Jede dieser Kategorien hat von mir eine Überschrift bekommen, die ich mit einer Klasse versehen habe.
Dieser Code heisst:
<div class="kategorie-start">Boulevard</div>
Weiterhin versehe ich jeden ausgegebenen Artikel mit einem Permalink und begrenze die Zeichenanzahl mit einem Plugin.
Das mache ich so:
<h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
<?php the_content_limit(400, "mehr...");?>So weit alles gut und das funktioniert auch wunderbar.
Nun aber gibt es eben noch das Problem mit dem Einfügen der Kategorien, Ist das, von was wir die ganze Zeit sprechen, für meine Aufgabenstellung denn überhaupt die richtige und einfachste Variante oder gibt es etwas Besseres ?
Wenn nicht, dann müsste der vorherige Code von Dir doch gehen, oder ?
-
Ich denke Du siehst das falsch Marx. Ich beschäftige mich sehr mit dem was Du schreibst und probieren tu ich den ganzen Tag:)
Na wenn du das sagst.ZitatAlles anzeigenAber mal so rein grundsätzlich:
Ziel bei mir ist, aus verschiedenen Kategorien eine bestimmte Anzahl an Beiträgen auf der Startseite ausgeben zu lassen.
[...]
Jede dieser Kategorien hat von mir eine Überschrift bekommen, die ich mit einer Klasse versehen habe.
[...]
Weiterhin versehe ich jeden ausgegebenen Artikel mit einem Permalink und begrenze die Zeichenanzahl mit einem Plugin.
[...]
So weit alles gut und das funktioniert auch wunderbar.
Schön. :-)ZitatNun aber gibt es eben noch das Problem mit dem Einfügen der Kategorien, Ist das, von was wir die ganze Zeit sprechen, für meine Aufgabenstellung denn überhaupt die richtige und einfachste Variante oder gibt es etwas Besseres ?
Wenn nicht, dann müsste der vorherige Code von Dir doch gehen, oder ?
Die richtige Variante ist es auf jeden Fall. Einen einfacheren Weg kenne ich nicht. Der Code von mir oben sollte auch funktionieren. Natürlich sofern du bei 'cat' jeweils die ID der gewünschten Kategorie angegeben hast, und bei 'showposts' je nach Kategorie 3 oder 4. Du solltest also 4 solcher Blöcke haben, jeweils mit anderer Kategorie-ID und angepasstem showposts-Parameter.Nur deine gewünschte HTML-Struktur ist mir noch nicht so ganz klar. Jeder Kategorie-Block wird in <div class="kategorie-start">KATEGORIENAME</div> eingeschlossen. Soweit klar. Dann folgt ein weiterer Container <div class="cats"> - der könnte je nach Anforderungen sogar überflüssig sein.
Die einzelnen Beiträge wiederum werden (innerhalb des Loops!) in <div class="entry"> eingefasst. Auch okay.Was hast du jetzt noch für Probleme? Werden jeweils die richtigen Beiträge ausgegeben? Stimmt die Formatierung der Beiträge?
Nachtrag, was mir grade auffällt, beim nochmaligen Überblicken der HTML-Struktur: diese Zeilen
</div><!--kategorie-start end-->
sind natürlich überflüssig und müssen gelöscht werden. Die <div class="kategorie-start"> werden ja noch in der gleichen Zeile wieder geschlossen. Ich ändere mal meinen Code weiter oben entsprechend. Statt den <div> könntest du an der Stelle auch Überschriften-Elemente <hx>) (x ist eine Ziffer 1-6) verwenden. Diese sollten natürlich eine höhere Ordnung haben, als die Beitragsüberschriften - rein von der Hierarchie her. -
Also: Der Code ist jetzt so und läuft:
PHP
Alles anzeigen<?php get_header(); ?> <div id="content" class="narrowcolumn"> <?php query_posts('cat=13&showposts=4'); ?> <div class="kategorie-start">Boulevard</div> <div class="cats"> <?php while (have_posts()) : the_post(); ?> <div class="entry"> <h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2> <?php the_content_limit(400, "mehr...");?> </div><!--entry end--> <?php endwhile; ?> </div><!--cats end--> <?php query_posts('cat=14&showposts=3'); ?> <div class="kategorie-start">Boulevard</div> <div class="cats"> <?php while (have_posts()) : the_post(); ?> <div class="entry"> <h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2> <?php the_content_limit(400, "mehr...");?> </div><!--entry end--> <?php endwhile; ?> </div><!--cats end--> <div class="navigation"> <div class="alignleft"><?php next_posts_link('« Vorherige Einträge') ?></div> <div class="alignright"><?php previous_posts_link('Nächste Einträge »') ?></div> </div><!--navigation end--> </div><!--content end--> <?php get_sidebar(); ?> <?php get_footer(); ?>Was sagst Du dazu ? :-D
Nun aber noch eine kleine Frage:
Dieser Teil:
Wir im Moment nur auf das jeweils erste Posting angewendet. Es muss aber natürlich für alle Relevaant sein (Es handelt sich um die Zeichenbegrenzung)
Weisst Du warum bzw. was ich ändern muss ?
-
Nein. Das ist doch bestimmt über ein Plugin realisiert, oder? WIe heißt das, und kannst du mir mal nen Link dazu geben? Dann guck ich mir das mal näher an.
Aber schön, wenn jetzt erstmal alles soweit klappt. :-D
-
Hallo, wir können es auch ohne plugin machen, (wäre mir sogar lieber) wenn Du weisst wie es geht.
Das Plugin heisst: "Limit Posts" und sein Code sieht so aus:
PHP
Alles anzeigen<?php /* Plugin Name: Limit Posts Plugin URI: http://labitacora.net/comunBlog/limit-post.phps Description: Limits the displayed text length on the index page entries and generates a link to a page to read the full content if its bigger than the selected maximum length. Usage: the_content_limit($max_charaters, $more_link) Version: 1.1 Author: Alfonso Sanchez-Paus Diaz y Julian Simon de Castro Author URI: http://labitacora.net/ License: GPL Download URL: http://labitacora.net/comunBlog/limit-post.phps Make: In file index.php replace the_content() with the_content_limit(1000, "more") */ function the_content_limit($max_char, $more_link_text = '(more...)', $stripteaser = 0, $more_file = '') { $content = get_the_content($more_link_text, $stripteaser, $more_file); $content = apply_filters('the_content', $content); $content = str_replace(']]>', ']]>', $content); if (strlen($_GET['p']) > 0) { echo $content; } else if ((strlen($content)>$max_char) && ($espacio = strpos($content, " ", $max_char ))) { $content = substr($content, 0, $espacio); $content = $content; echo $content; echo "<a href='"; the_permalink(); echo "'>"."..."."</a>"; echo "<a href='"; the_permalink(); echo "'>".$more_link_text."</a></p>"; } else { echo $content; } } ?> -
Sind denn alle Beiträge länger/größer als 400 Zeichen?
Wenn nicht, dann wird natürlich der gesamte Beitrag angezeigt.
Wenn Du die Länge einschränken willst, dann musst Du den Wert (400) auf einen niedrigeren Wert setzen.
VG Elke -
ja...natürlich sind alle größer als 400 Zeichen !
-
-
das passiert:
Parse error: syntax error, unexpected '*' in /home/www/web44/html/wp-content/plugins/limit_post.php on line 23 -
-
Das wäre aber ja falsch, denn in der Einzelansicht muss er ja ganz angezeigt werden.
Ausschliesslich in der Vorschau soll er gekürzt sein. Überall anders ganz angezeigt werden -
UNgekürzt. UN! ;-)
-
Achso, mann bin ich schon durcheinanader.
Sorry, bringt leider auch nix
Und nu ? -
Mmmh, merkwürdig... Der Plugin-Code ist zwar ein wenig wild, aber eigentlich müsste der so funktionieren...
Stell die Frage am besten nochmal in einem separaten Thread, vielleicht hat noch jemand anders ne Idee... sorry.
-
Nachtrag: ich hab grade doch noch was gefunden, versuch das vielleicht mal:
http://forum.wordpress-deutschland.org/design/22919-t…ders-herum.html
(nur eben andersrum, d.h. $more = 0 setzen) -
Sorry, aber wo jetzt ?
-
Da in dem verlinkten Thread auch nichts defintives dazu steht, würde ich es mal so versuchen:
global $more; -> an den Anfang, irgendwo vor dem ersten query_post()
$more = 0; -> direkt dahinter, wenn das nicht klappt dann jeweils unmittelbar vor oder nach den query_posts()-AufrufenProbiers aus! ;-)
[SIZE="1"]Achja, das sind natürlich PHP-Befehle und müssen demzufolge auch in <?php ... ?> eingeschlossen werden![/SIZE]
-
Sorry, aber bin noch nicht so fit in PHP, wie muss es bitte exakt heissen ?
-
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!