Beiträge von soeren onez

    Ja, die Performance macht mir auch ein wenig Sorgen. Allerdings weiß ich nicht genau, wie ich einen solchen Zähler mitlaufen lassen kann. Mit offset komme ich hoffentlich zum gewünschten Ergebnis.

    Den User entscheiden lassen, wie viele Beiträge auf der Startseite sind, will ich nicht, da die Startseite einen in sich geschlossene bereich darstellen soll, in dem keine Lücken auftauchen sollen. Eben ein Magazin-, kein Blogdesign. Im Grunde habe ich vor ein freies Magazindesign anzubieten, was ähnlich wie Revolution und ähnliche Premiumdthemes ist. Es gibt zwar schon einige auch wirklich gute, aber diesen geschlossenen Bereich bieten fast nur die zu bezahlenden Themes. Da will ich Abhilfe schaffen, so es mir gelingt.

    Ich werde mal versuchen mit den oben genannten Hilfsmitteln die Startseite zu definieren und wende mich an euch noch einmal, wenn das Theme soweit fertig ist, vielleicht könnt ihr mir dann helfen, die Performance zu erhöhen, bzw. die Loops zu entwirren.


    Wird aber noch einige Zeit dauern, muss erstmal noch einiges für die Uni machen und habe auch noch ein großes Kundenprojekt, dass fertig gestellt werden will. Zudem bin ich erst in der Designphase und habe noch kein Stück Code geschrieben, wollte mir aber schon Mal Gedanken amchen, ob das, was ich gerne hätte überhaupt realisierbar ist mit den bescheidenen Wordpresskentnissen meinerseits.

    Habt beide vielen Dank.

    Ich bastele gerade an einem neues Magazin Theme für Wordpress und möchte gerne wissen, ob ich die wp_query Funktion für meine Zwecke nutzen kann. Ich möchte im Grunde folgenden Startseitenaufbau haben (vereinfacht):
    [INDENT]Erster Featured Artikel

    Bereich oder Banner

    Artikel 2, 3 und 4

    Bereich oder Banner

    Artikel 5, 6, 7
    [/INDENT]Den ersten Artikel anders als die folgenden anzusprechen mache ich mit "<?php $top_query = new WP_Query('showposts=1'); ?>", kann danach meinen Bereich definieren und dann die nächsten drei Artikel mit "<?php query_posts('showposts=3'); ?>" ansprechen.

    Aber wie kann ich nach diesen drei Artikeln einen erneuten Bereich schaffen? Wenn ich jetzt noch einmal "<?php query_posts('showposts=3'); ?>" aufrufe, dann bekomme ich wieder Artikel 2, 3 und 4. Der erste Artikel wird doch in eine Liste, nämlich "top_query" gespeichert und deshalb beim zweiten Aufruf nicht mehr abgefragt. Kann ich nicht auch die nächsten drei Artikel in diese Liste speichern um dann eben in der dritten Abfrage nur noch die übriggebliebenen Artikel zu bekommen?

    Danke

    Das ist im Grunde recht einfach. Ich gehe davon aus, dass du das gerne auf der Startseite hättest. Du musst wp_query dafür benutzen und zwar wie folgt:

    Als erstes sprichst du den ersten Artikel in der index.php an:

    [INDENT] <?php $top_query = new WP_Query('showposts=1'); ?>
    <?php while($top_query->have_posts()) : $top_query->the_post(); $first_post = $post->ID; ?>
    <div class="ersterpost">
    <h2><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
    <?php the_content();?>
    </div>
    <?php endwhile; ?>

    [/INDENT]Danach sprechen wir die restlichen Artikel an:

    [INDENT]<?php query_posts('showposts=9'); ?>
    <?php while(have_posts()) : the_post(); if(!($first_post == $post->ID)) : ?>
    <div class="artikel">
    <h2><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
    <?php the_content();?>
    </div>
    <?php endif; endwhile; ?>
    [/INDENT]


    Jetzt musst du musst nur die Klassen "ersterpost" und "artikel" unterschiedlich in der css-Datei formatieren. Z.B. könntest du der Klasse "ersterpost" eine andere Hintergrundfarbe geben.

    Ich seh gerade auf deiner Seite ist aber auch etwas ganz komisch. Die Adresse lautet www .mein .meerblickzimmer .de aber das www ist da eigentlich zu viel, könnte daran liegen, dass es bei dir nicht funktioniert. denn eigentlich ist es so aufgebaut: subdomain.domain.tld aber du hast davor noch ein subdomain, nämlich www und das könnte verhindern, dass es bei dir funktioniert. Du solltest die Hauptdomain auf http://domain.tld und die subdomains dann http://subdomain.domain.tld haben. Das kann man in der Installation angebebn, sicher aber auch noch nachträglich ändern.

    Ja ich verstehe, aber gerade keine Lösung parat. Ich habe leider kaum Ahnung von Serverkonfiguration werde aber wohl genau dieses Problem auch noch lösen müssen. Frag doch mal deinen Host ob man aus der Wildcard einige Domains ausnehmen kann.

    Ich habe mir eigentlich folgende Möglichkeit überlegt, ob sie klappt weiß ich nicht. Di registrierts die Subdomain und setzt sie auf einen anderen Ordner als deine MU-Installation. Dann registrierst du mit ausgeschalteter Wildcard die selbe subdomain in mu und gibst ihr ein Theme, was nur dafür gemacht ist. Dieses Theme hat dann einen header-redirect auf deine subdomain.

    Ich weiß nicht genau ob das funktioniert und ob es nicht viel elegantere Lösungen gibt, verstehe aber auch nicht genau, was MU da macht.

    Ich denke es so, dass als erstes der Server befragt wird, wenn dort die Information vorhanden ist, dass irgendeine Subdomain in diesem Ordner ist, dann wird das aufgerufen und eben nicht die mu Installation. Und die Domain sperren zur Registration kannst du im Adminmenü. Scheint aber ja nicht zu klappen. Hmmm...

    Ich werde es die tage ausprobieren, fahre heute weg, so dass ich erst morgen testen kann. Versuch mal die Subdomain manuell zu registrieren und sie dann zu den "verbotenen" hinzuzufügen. Ansonsten den komischen Weg, den ich oben beschreibe. Als erstes würde ich dennoch meinen host kontaktieren, das sind meist cracks, die sowas andauernd machen und für die das meist kein problem darstellt. MU sollte denen auch bekannt sein.

    Das geht ganz einfach, in der Administration als Administrator kannst du unter Einstellungen Subdomains ausnehmen, die du nicht vergeben willst. Dort sind schon einige von Anfang an ausgenommen, wie www admin registration usw. Also Menüpunkt Administration -> Einstellungen. Also nicht in den Einstellungen für das erste automatisch erstellte Blog, sondern in der Administration, wo du auch die Blogs und User verwaltest

    Ich habe es immer wieder probiert und irgendwann hat es funktioniert, also brauche ich keinen schnellen Beistand mehr, allerdings würde es mich interessieren, was das Problem verursacht hat und wenn jemand da helfen kann, wird das sicher auch noch einige andere weiterbringen, denn ich bin sicher nicht der einzige, dem das mal passiert.
    Im englischen Forum gibt es auch einen Thread dazu, der aber nicht gelöst ist, also auch rätzelraten, woher das kommt.

    Ich versteh das einfach nicht mehr und hoffe, mir kann vielleicht jemand helfen. Ich habe Wordpress MU installiert, es hat alles gut funktioniert, allerdings wurden tschechische Sonderzeichen nicht korreckt dargestellt, da in der Sql-Datenbank die falsche Codierung verwendet wurde. Ich wusste nicht, welche Codierungen ich alle ändern muss/ kann und habe entschlossen Wordpress MU noch einmal zu installieren, mit Sprachangabe in der Config und dem tschechischen Sprachfile.
    Die Installation hat funktioniert, doch wenn ich mich jetzt als admin in das hauptblog einloggen will bekomme ich immer wieder folgenden Fehler und kann mich nicht einloggen:

    Zitat

    Warning: Invalid argument supplied for foreach() in /www/htdocs/w008faba/webitus/wp-includes/capabilities.php on line 31

    Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w008faba/webitus/wp-includes/capabilities.php:31) in /www/htdocs/w008faba/webitus/wp-includes/pluggable.php on line 386

    Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w008faba/webitus/wp-includes/capabilities.php:31) in /www/htdocs/w008faba/webitus/wp-includes/pluggable.php on line 387

    Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w008faba/webitus/wp-includes/capabilities.php:31) in /www/htdocs/w008faba/webitus/wp-includes/pluggable.php on line 348

    Wenn ich neue Blogs alnlege kommt auch dieser Fehler, die neuen Nutzer können sich allerdings einloggen. Woran könnte das liegen? An dem Sprachfile sicher nicht und an der Spracheinstellung in der Config auch nicht, denn ich habe noch einmal in Originalversion installiert und bekomme da jetzt auch diesen Fehler. Ich habe nichts am Server gemacht, habe die Version nicht gewechselt. Kann mir jemand helfen? Die Domain ist webitus.cz

    Danke

    Ich habs und es funktionier genau so wie ich es möchte. Mein Aufbau in der index.php ist folgendenderweise:


    <?php if ( is_home() ) : ?>
    <?php if( is_paged() == false) : ?>
    home.php-inhalt = das ist nur die startseite
    <?php else : ?>
    index.php-inhalt = das sind die page/x/- seiten
    <?php endif; ?>
    <?php else : ?>
    index.php-inhalt = das sind die kategorien/tag-seiten
    <?php endif; ?>


    Danke Gunnar, du hast mich auf den richtigen Dampfer geführt.

    Ich glaube ich habe etwas noch einfacheres gefunden um zu prüfen, ob es die Startseite ist:
    es gibt is_home() und is_paged(). Wenn ich if( is_home()) and not( is_paged() ) schreibe, dann bekomme ich nur bei der startseite ein true und auf den page/x/ seiten nicht, genau was ich haben will. Ich wiß jetzt nur nicht, wie ich das schreiben muss. Wie muss ich hier das and und das not machen?

    Also vom Prinziep her muss das ja klappen, aber wenn ich das von dir oben in die index.php setze, bekomm ich keine fehler oder irgendwas, sondern gar nichts. Vielleicht liegt es an der Synthax. Wie muss ich das denn genau da reinschreiben? <?php davor oder wie? Du musst wissen ich bin ein php-noob und habe mir alles nur aus der doc und beispielen zusammengebastelt. Könntest du mir die obige Lösung nocheinmal so posten, dass ich einfach nur copy&paste in die index.php setzen kann?
    Danke

    Das könnte funktionieren, ich danke dir wirklich vielmals für die Arbeit die du dir hier mit mir gemacht hast. Es bleibt allerdings ein Problem offen. Wenn ich das so mache wie du beschrieben hast, dann sehen auch die /page/x/ seiten so aus, dass ein artikel groß ist, dann der rest. Aber dort soll ja nur die exerp-öiste stehen. Ach ja. Ich werde es wohl so machen, dass ich auf der Startseite eben einen Link zu der /page/2/ setze und dort dann eben die Pagebar anzeigen lasse, dass muss dann eben reichen.
    Danke nochmal

    Aber mir kommt eine Idee, vielelicht geht das ja. Ist es Möglich in einer if-Abfrage in der index.php abzufragen, ob die bloghauptseite ist oder nicht, also vielelicht damit "<?php echo get_settings('home'); ?>" weil das gibt ja nun den link zur Startseite aus, nur der Startseite, dann wären die page/2/ seiten nicht betroffen?

    Mein Problem ist ja, dass ich keinen statischen Inhalt habe, das wäre in der Tat so wie du beschrrieben hast einfacher. Aber meine Startseite zeigt oben den neuesten Artikel an, und dann in einem anderen div-bereich die nächsten fünf Artikel. Automatisch. Mit query post gemacht. ich kann aber das nicht in eine if-abfrage in die index.php reinstecken, weil die /page/27 seiten eben auch home zurückgeben. Dadurch habe ich ja das Problem, dass diese Seiten genauso aussehen, wie die Startseite und versuche es gerade mit meiner methode zu umgehen. Werde mich dann wohl mit dem "nächte Seite"-Link begnügen müssen. ist halt sehr schlecht, weil dadurch nicht alle Seiten Linksaft abbekommen. Ach ja.

    Die Pagebar soll einfach das könne, was sie immer kann:

    Seite: 1| 2| 3|...

    Das soll sie anzeigen, eben auch auf der Startseite, die eine statische Seite ist, die ich mit einem gesonderten Template ausgestattet habe, weil ich dort query posts benutze und sonst die Seiten /page/2 genauso aussehen wie die startseite, wenn ich das in die index.php oder eine home.php schreibe. Es ist also eine maske und dennoch sollte es möglich sein auf die anderen /page/x/ seiten zugreifen zu können. Ich könnte es auch staisch bauen, aber dann müsste ich eben andauernd etwas dazubauen. War das verständlih, sonst mache ich es nohmal genauer.
    Danke für deine Mühe

    Das leuchtet mir ein, die Frage ist doch, ob ich dem Plugin die Daten des Blogs übergeben kann? Denn schon mit dem ersten klick auf die pagebar ist man ja wieder in der Kalenderlogik drin.

    Kann ich die Daten des Blogs irgendwie in dem Plugin bekommen?

    Ich arbeite mich erst seit kurzem in Wordpress ein, nutze gerade noch Nucleus CMS, werde aber bald wechseln. Ich habe einen testblog aufgesetzt und dort das Theme 5thirtyone an meine Bedürfnisse angepasst. Nun, das Theme hat einen entscheidenden Nachteil, es ist keine Pagebar oder next/back möglich, da mit query die Startseite verbogen wird.

    Ich ahbe allerdings eine Lösung über eine statische Seite gefunden, die alle Nachteile ausbügelt. Wenn...ja wenn es möglich wäre eine Pagebar zu installieren. Wie kann ich das machen?

    Die pagebar funktioniert, es ist also nihts am Plugin, dem Einbaucode oder Wordpress kaputt. Pagebar und next/back werden auf statischen Seiten geblockt. Kann ich das ausschalten? Wo und Wie?

    Der einfache next/back reicht mir nicht, den könnte ich zur Not ja auch simulieren, also auf der statischen Startseite von Hand setzen und danach den php-code benutzen.

    Vielen Dank für eure Hilfe


    Nachtrag: Ich habe mal im Plugin nachgesehen, auch wenn ich da nichts verstehe sehe ich, dass es daran liegt, dass der Wert page nicht über 1 kommt, weil sich das Plugin nicht die Artikelzahlen des Blogs holt, sondern der Seite, oder so?
    if(empty($paged))
    $paged = 1;

    if($max_page > 1)
    {

    da wird abgefragt wie viele Seiten erstellt werden sollen und die Seite kommt eben nicht über 1. Ich poste mal das ganze Teilstück, vielleicht weiß ja jemand, wie ich das Plugin zwinge, die Artikelanzahl des Blogs zu holen.

    if(empty($paged))
    $paged = 1;

    if($max_page > 1)
    {

    echo '<div class="pagebar">' . $params['before'];

    if ($paged>1 && $params['directions'])
    echo '<a href="'.trim(new_get_pagenum_link($paged-1)).'" '.pbShowTooltip($params['tooltip'],$params['tooltip_text'], $paged-1).'>'.$params['prev'].'</a> ';

    if ($paged >= 4)
    echo '<a href="'.new_get_pagenum_link().'"'.pbShowTooltip($params['tooltip'],$params['tooltip_text'], "1").'>1</a> <span class="break">...</span> ';

    for($i = $paged - 2 ; $i <= $paged +2; $i++) {
    if ($i >= 1 && $i <= $max_page) {
    if($i == $paged)
    echo '<span class="this-page">'.$i.'</span>';
    else
    echo ' <a href="'.new_get_pagenum_link($i).'"'.pbShowTooltip($params['tooltip'],$params['tooltip_text'], $i) .'>'.$i.'</a> ';
    }
    }
    if (($paged+2) < ($max_page))
    echo ' <span class="break">...</span> <a href="'.new_get_pagenum_link($max_page).'"'.pbShowTooltip($params['tooltip'],$params['tooltip_text'], $max_page).'>'.$max_page.'</a>';

    if ($paged<$max_page && $params['directions'])
    echo ' <a href="'.new_get_pagenum_link($paged+1).'"'.pbShowTooltip($params['tooltip'],$params['tooltip_text'], $paged+1).'>'.$params['next'].'</a>';

    echo $params['after'] . '</div>';
    }

    Allerdings ist oben auch eine Funktion, die dran Schuld sein könnte:

    function new_get_pagenum_link($i=1)
    {
    return attribute_escape(get_pagenum_link($i));
    }
    Ach mensch, kennt jemand das Plugin und versteht mein Problem?