Beiträge von marX

    Dann nochmal: was ist "blog", d.h. wie ist die Page aufgebaut? Eventuell wird da irgendwo der Loop gestört (durch die Anzeige der Beiträge z.B.). Du könntest vor dem Loop mal das hier schreiben:

    PHP
    $isBlogPage = is_page('blog');


    und in der Sidebar dann

    PHP
    if ( $isBlogPage )


    Vielleicht klappt das ja, dann wird is_page() irgendwo auf dem Weg dahin überschrieben.

    Der Code ist nicht für die Widgets, sondern für die statische Sidebar und wird deshalb ignoriert, wenn du Widgets verwendest. Unterschiedliche Widgets auf unterschiedlichen Seiten ist fast unmöglich, dafür sind Widgets zu unflexibel.

    Angeblich ist PHP5 verfügbar.


    Ja, ich meine auch, dass das ein Bug in einer 5er-Version von PHP war. So hab ich das zumindest verstanden bei meiner Google-Tour...

    Zitat

    Memory steht auf 64 MB. Könnte das zu wenig sein?


    64 MB? Purer Luxus! Andere wären froh wenn sie die Hälfte hätten. ;) 64 MB sind für WP jedenfalls mehr als ausreichend.

    Also es ist mit ziemlicher Sicherheit ein PHP-Problem, und zwar mit der PHP-Installation. Da kann dir wohl nur dein Hoster weiterhelfen.

    Höchstwahrscheinlich ist das Theme uralt und setzt eigene Funktionen für das Kategorielisting ein. Da hat sich aber bei einem früheren Update (auf 2.2 glaube ich) einiges an der DB-Struktur im Hintergrund geändert. Entweder bittest du den Theme-Autor um eine aktualisierte Version, oder du musst dir ein anderes Theme suchen. (Mit PHP-Kenntnissen kannst du natürlich auch an den Kategoriefunktionen des Themes rumschrauben oder diese einfach ausbauen ;-))

    Code
    http://mi-at-bi.de/wp-content/themes/3dinterior/style.css


    Dein Stylesheet ist nicht erreichbar. Eventuell das Theme nochmal neu aktivieren, vielleicht reicht das schon.

    Zitat

    Ich habe beim Upgrade von 2.51 auf 2.6 NICHT die wp-content neu aufgespielt... hätte ich das machen sollen?! Ist der Fehler dort zu finden?


    In wp-content liegen Plugins und Themes. Die solltest du jeweils einzeln updaten. Vorhanden sein muss das Verzeichnis natürlich, aber überschreiben darfst du das beim Updaten nicht (siehe auch Upgrade-Anleitung)

    Nach kurzem Googlen scheint das wohl ein PHP-Bug zu sein. Melde das mal deinem Hoster und frage, ob er sein System auf eine neuere PHP-Version updaten würde. Falls du PHP 4 einsetzt kannst du vielleicht selbst auf PHP 5 umstellen, wenn dein Hoster das erlaubt. Welche PHP-Version läuft zur Zeit bei dir?

    Hallo marX,

    mir fehlt einfach Grundwissen in Bezug auf Klassen und deren Anwendung. Und alles was ich dazu lese, verstehe ich im Moment nicht wirklich. Ziemlich frustrierend.


    Naja, ist weniger kompliziert als du dir das vorstellst. ;)

    Zitat

    Ich habe es mal mit Deinem Code probiert, habe aber jetzt z. B. überhaupt keine Ahnung, wie ich die Daten denn damit ausgeben kann.


    Einfach mal die Doku zur WPDB-Klasse lesen, da sind die wichtigsten Methoden (so heißen Funktionen in Klassen) beschrieben. Du suchst get_results().

    Zitat

    Mir ist klar, das das Forum hier kein PHP-Grundkurs sein kann, aber vielleicht kannst Du mir ja doch nochmal weiterhelfen?


    Also für OOp im allgemeinen eher nicht, da musst du dich schon selbst durchwursteln. ;) Aber was WP und WPDB angeht helf ich gerne soweit ich kann.

    PHP
    <?php
    $pass="xxx";  //Datenbankpasswort
    $data="xxx";  //Datenbank
    $user="xxx";  //Datenbanknutzer
    $tabelle="mitarbeiter";


    Bis hierher okay.

    PHP
    $link=mysql_connect("localhost", $user, $pass, true);
    mysql_select_db($data, $link);


    So, hier legst du jetzt eine neue Datenbank-Verbindung mit Hilfe der WPDB-Klasse an. Besser wäre es allerdings, wenn du die bestehende Datenbank-verbindung nutzen könntest, d.h. die Mitarbeiter-Tabelle würde in der selben Datenbank liegen wie die wp_*-Tabellen. Dann sparst du dir eine weitere Datenbank-Verbindung, das spart Resourcen und schließt mögliche Fehlerquellen aus.


    PHP
    /*Hier der Code von marX*/
    $ort_value = 'büro';
    $wpdb->query(
       $wpdbprepare("
           SELECT * FROM mitarbeiter 
           WHERE ort = %s 
           ORDER BY lastname ASC, firstname ASC",
           $ort_value));
    /*marX-Code ende, und dann... ? */


    Und dann? Kein Problem: das Result-Set liegt jetzt in der WPDB-Klasse vor. Du musst es dir nur noch holen, mit der o.g. get_results()-Methode. Funktioniert analog zu mysql_fetch_array():

    PHP
    <?php $ergebnis = $wpdb->get_results(null, ARRAY_N); ?>


    (ARRAY_A liefert ein assoziative Array, ARRAY_N ein nummeriertes Array und OBJECT ein Objekt als Resultat -> Doku)

    Die <table> gibst du dann einfach per foreach-Schleife über $ergebnis aus.

    Alle Klarheiten beseitigt? :D

    Und zwar möchte ich haben, dass die Links in der Tagcloud, welche in der Sidebar angezeigt wird, alle auf rel="nofollow" gesetzt werden. In welcher Datei kann ich Änderungen an der Tag-Cloud Funktion vornehmen?


    Du könntest einen Filter verwenden (komischerweise ist kein Tag-Cloud-Filter aufgelistet, aber es gibt bestimmt einen dafür). Aber...

    Zitat

    Desweiteren sollten alle Kategorie und Tagseiten (also nicht die Links sondern die Seiten) auf [<meta name="robots" content="noindex,follow" />] gesetzt werden.


    ... so ists ja doppelt gemoppelt. ;) Der 2. Teil ist deutlich einfacher und dürfte ja auch für deine Zwecke ausreichen. Einfach folgendes in die header.php deines Themes:

    PHP
    <?php if ( is_archive() ) : ?>
      <meta name="robots" content="noindex,follow" />
    <?php endif; ?>


    Gilt für sämtliche Archiv-Seiten, also Kategorie-Archive, Tag-Archive, datumsbasierte Archive, Autorenarchive etc... also auf alles worauf auch die archive.php passen würde.

    Jetzt sollten doch Cat 1, und 29 nicht angeuzeigt werden oder ? Macht er aber trotzdem.


    WP schließt hier alle Beiträge die NUR in Kategorie 1 ist, oder NUR in Kategorie 29. Alle anderen werden angezeigt. Ist das möglicherweise das Problem?