Zurück   WordPress Deutschland Forum > Support > Plugins und Widgets

Antwort
 
Themen-Optionen Ansicht
Alt 25.06.2008, 17:33   #1 (permalink)
PostRank: 0
 
Registriert seit: 25.06.2008
Beiträge: 4
Sideblog Plugin verdoppelt Posts

Hallo zusammen, ich habe gerade das Sideblog Plugin installiert. Funktioniert auch alles super, allerdings werden auf der eigentlich Postseite manche Posts doppelt angezeigt. Dies mag wohl daran liegen, dass ich immer nur den ersten Beitrag ganz anzeige und die folgenden mit ihren Excerpts abkürzen lasse.
Schauts euch einfach mal an: hier
Das Sideblog Plugin habe ich in die index.php eingepflegt, und wahrscheinlich sollte ich Auszüge zeigen, damit das Problem gelöst werden kann.
PHP-Code:
<?php get_header(); ?>
<div id="feature" class="column span-15 colborder">
<?php function post_style() {
    static 
$post_count;
    
$post_count++;
        if (
$post_count 2) {
            echo 
"post_alt";
        }
        else {
            echo 
"post_first";
        }
}
?>
Was die function post_style() genau macht hab ich nicht wirklich verstanden.
PHP-Code:
<?php query_posts('showposts=1&cat=1,3,4,5,48,150,151'); ?>
<?php 
if (have_posts()) : ?>
            
            <?php while (have_posts()) : the_post(); ?>
Hier werden die anzuzeigenden Kategorien ausgewählt und dann geht der Loop los.
PHP-Code:
<!-- MORE NEWS -->
<div class="news-block">
<h2 class="quiet">Was zuvor geschah</h2>
 <?php
 
global $post;
 
$myposts get_posts('numberposts=6&offset=1');
 foreach(
$myposts as $post) :
 
setup_postdata($post);
 
?>
Das ist das mit den excerpts. Und jetzt kommt die Integration des Sideblog-Plugins.
PHP-Code:
<div>
<h6>Negative</h6>
<ul>
<?php sideblog('negative'); ?>
</ul>
<div class="column span-4 first">
<?php include (TEMPLATEPATH '/sidebar_single.php'); ?>
</div>
</div>
Also, ichhabe das Problem, glaub ich zumindest, verstanden, allerdings fehlen mir die nötigen PHP Kenntnisse um es auch zu lösen.
Würde mich sehr freuen, wenn jemand von euch eine Idee, eine Lösungsvorschlag hätte.

Vielen Dank.
Liebe Grüße

Pascal
pasQualle ist offline   Mit Zitat antworten
Alt 25.06.2008, 18:25   #2 (permalink)
WPD-Team
 
Benutzerbild von marX
 
Registriert seit: 05.10.2006
Beiträge: 8.025
Vermutlich brauchst du ein neues Loop-Objekt, da würde ich mal ansetzen. Beispiel aus dem Codex:
PHP-Code:
<?php $my_query = new WP_Query('category_name=special_cat&showposts=10'); ?>

<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
  <!-- Do special_cat stuff... -->
<?php endwhile; ?>
The Loop « WordPress Codex

Die post_style() ist wahrscheinlich für Style-Änderungen zuständig, also das abwechselnde zuweisen einer Klasse.
marX ist offline   Mit Zitat antworten
Alt 25.06.2008, 18:33   #3 (permalink)
PostRank: 0
 
Registriert seit: 25.06.2008
Beiträge: 4
Das klingt schonmal super. Danke dafür.

Du schlägst also folgendes vor:
1. Vor der Sideblog-Definition mit rewind_posts() den Loop-Counter resetten.
2. dann einen neuen Loop beginnen mit den query_posts(), in welchem nur die eine Kategorie angezeigt wird.
3. loop schließen und fertig.

Oder hab ich das Loop-Beispiel falsch interpretiert und man kann entweder rewind_posts(), oder query_posts() benutzen?
pasQualle ist offline   Mit Zitat antworten
Alt 25.06.2008, 19:35   #4 (permalink)
WPD-Team
 
Benutzerbild von marX
 
Registriert seit: 05.10.2006
Beiträge: 8.025
Nein, nicht ganz. Obwohls so evtl. auch gehen könnte..
Guck dir mein gepostetes Beispiel mal an. Ich lege mit new WP_Query() ein neues Loop-Objekt an, statt mit query_posts() den "alten" Loop zu beeinflussen. WP_Query() bekommt dieselben Parameter wie query_posts().

Auf diesem Objekt kannst du dann die normalen Funktionen anwenden, du musst nur das Objekt und den Pfeil "->" mit hinzufügen. So wird der normale Loop nicht beeinflusst und es sollte keine Probleme geben.

Geändert von marX (25.06.2008 um 19:38 Uhr).
marX ist offline   Mit Zitat antworten
Alt 26.06.2008, 11:46   #5 (permalink)
PostRank: 0
 
Registriert seit: 25.06.2008
Beiträge: 4
Leider funktioniert es nicht wirklich so wie ich mir das vorstellte.
Also ich habe eine Datei asides geschrieben, die ich in der index.php folgendermaßen eingebunden habe:
PHP-Code:
<div>
   <?php include (TEMPLATEPATH '/asides.php'); ?>
</div>
Und die Asides.php sieht so aus:
PHP-Code:
<h6>Negative</h6>
<ul>

 <?php $asides = new WP_Query('category_name=Negative'); ?>

 <?php while ($asides->have_posts()) : $asides->the_post(); ?>
     <?php sideblog('negative'); ?>
 <?php endwhile; ?> 

</ul>
Manche Posts erscheinen weiterhin doppelt. Was habe ich falsch gemacht? Ich kann das $my_query doch umbenennen, oder? Kann es vielleicht daran liegen, dass ich die "special-featured-artikel" in der AJAX Box oben schon über query posts gemacht habe?

Geändert von pasQualle (26.06.2008 um 11:51 Uhr).
pasQualle ist offline   Mit Zitat antworten
Alt 26.06.2008, 11:50   #6 (permalink)
WPD-Team
 
Benutzerbild von marX
 
Registriert seit: 05.10.2006
Beiträge: 8.025
Zitat:
Zitat von pasQualle Beitrag anzeigen
Ich kann das $my_query doch umbenennen, oder
#
Selbstverständlich. Ist ja nur ein Variablenname.

Welche Beiträge erscheinen doppelt? Die die (unter anderem?) in der "Nagatvie"-Kategorie eingetragen sind? Beiträge die ausschließlich in "Negative" enthalten sind, kannst du per
PHP-Code:
<?php query_posts($query_string '&cat=-5'?>
("Negative" hat cat-ID '5')
aus dem normalen Loop ausschließen.
marX ist offline   Mit Zitat antworten
Alt 26.06.2008, 13:34   #7 (permalink)
PostRank: 0
 
Registriert seit: 25.06.2008
Beiträge: 4
Es sieht so aus, als ob ich es geschafft hätte. Folgendes habe ich getan:
  1. Wie oben erwähnt eine asides.php geschrieben und diese
    PHP-Code:
    <div> 
    <?php include (TEMPLATEPATH '/asides.php'); ?> 
    </div>
    in die index.php eingebunden.
  2. In der Index.php habe ich den »Was geschah zuvor«-Block mittels einer neuen query_posts() function neugeschrieben, und damit die get_posts() function die davor die letzten sechs posts zusammensammelte ersetzt.
Jetzt hoffe ich nur noch, dass das Ganze hält was es verspricht und mir beim nächsten richtigen Beitrag nicht auseinanderfällt.

Herzlichen Dank marX für deine Hilfe
pasQualle ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:37 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 | Impressum | Ein Inpsyde.com Projekt