Beiträge von Poeti

    Ich hatte ein ähnliches Problem wie Du. Ich habe keine zwei Thumbnail-Größen in meiner functions.php, ich wollte einfach nur das Orginalbild per Lightbox anzeigen lassen.

    Dazu habe ich die functions.php um eine eigene Funktion erweitert:

    PHP
    function my_linked_post_thumbnail( $post_id = NULL, $size = '', $attr = '', $target_size = '') {
      $post_thumbnail_id = get_post_thumbnail_id( $post_id );                      
      $image_src = wp_get_attachment_image_src( $post_thumbnail_id, $target_size );
         
      $thumbnail_html = get_the_post_thumbnail( $post_id, $size, $attr );
      
      echo '<a href="'.$image_src[0].'" rel="lightbox['.$post_thumbnail_id.']">'.$thumbnail_html.'</a>';
     }

    und rufe diese Funktion in der Loop anstelle von the_post_thumbnail() auf:

    PHP
    if ( has_post_thumbnail() ){
      my_linked_post_thumbnail( $post->ID, array(150, 180), array( 'class' => 'alignleft' ), 'full'); }

    Die Parameter werden wie bei get_the_post_thumbnail verwendet, daher sollte das ganze mit $page->ID auch auf Seiten gehen. Zusätzlich wird noch angegeben welche Bildgröße in der Lightbox angezeigt werden soll: thumbnail, medium, large und full. Das sind die vier Bildgrößen die Wordpress beim Upload eines Bildes erzeugt.


    Die Funktion is alles andere als spektakulär: Die ID des Thumbnails wird ermitteln, damit dann die URL des Bildes in der gewünschten Zielgröße ausgelesen und das ganze als Link mit dem Thumbnail ausgeben. Damit mehrere Thumbnails auf einer Seite funktionieren, wird die jeweilige ID für Lightbox verwendet. Könnte man alles auch in der Loop direkt machen, ist dann aber unübersichtlich. ;-)

    Ich habe es jetzt nicht ausprobiert, aber wenn ich Mark Jaquiths Beitrag unter http://markjaquith.wordpress.com/2009/12/23/new…umbnail-images/ richtig verstanden habe, dann kannst Du statt thumbnail, medium, large und full auch Dein thumbnail400 benutzen um das Bild aufzurufen.

    Hoffe ich konnte ein wenig weiterhelfen.

    Schönen Gruß,
    Michael

    Ne klar... :shock: Sieht so aus, als hätten die Wordpressentwickler Selbstheilungsprozesse eingebaut. Wahrscheinlich Nano-Robots die ins www ausschwärmen wenn ein Wordpressnutzer in Nöten ist. 8)

    Mal im ernst, kann es sein, das Du kurz vor oder nach der Installation vom Wordpress die Subdomain wordpress.nonstop.li angelegt hast? Dann könnte das Problem damit zusammenhängen, dass manche Skripte auf dem Webserver eine gewisse Zeit benötigen bis die Einstellungen aktiv werden. Vielleicht gibt es bei Dir ja Skripte, die das nur einmal am Tag, nämlich Nachts, machen. Damit liese sich die wundersame Selbstheilung erklären.

    Aber wenigstens läuft es jetzt :D

    Gruß,
    Pöti

    Man könnte die Eingaben des Formulars mitnehmen und dann wieder ausgeben, das sollte das kleinste Problem sein.

    Aber Du hast ja recht, die wp-comments-post.php hätte auch ohne Befehl Die umgesetzt werden können. Aber ich glaube nicht, dass es Sinn der Sache ist, die komplette wp-comments-post.php umzukrempeln, vor allem weil man sich damit bei künftigen Updates das Leben nur wieder schwer macht.

    Es sei denn, man programmiert sie so toll, das Matt & Co. sie in Zukunft direkt übernehmen. 8) Das ist doch mal ne Aufgabe! :wink:

    Zum Betrieb von Wordpress sind keine Plugins nötig. Diese ergänzen die Funktionen nur. Du kannst also alle deaktivieren um zu testen.

    Ich habe gerade einen Beitrag von Simon hier im Forum gelesen, der das selbe Problem hat. Ich kann es leider nicht mehr nachvollziehen. Auch mein Testsystem läßt sich diese Mucken nicht entlocken.

    Eine Frage noch: Sind die Pfade unter Optionen->Allgemein richtig eingestellt?

    Noch ein Hinweis (nur zu Sicherheit :wink: ): Du musst immer einen neuen Beitrag schreiben. Nur durch ändern der Optionen ändert sich nicht das, was Du bereits geschrieben hast.

    Ansonsten stehe ich momentan ebenso auf'm Schlauch. Du hast ja sichlich keine Beta-Version von Wordpress gezogen oder Wordpress nicht von der offiziellen Website heruntergeladen? Laut diesem Beitrag bei wpthemes.info gibt es seit 21.03.2005 eine neue Version des von Dir verwendeten Themes. Benutzt Du diese? Aber das kann es eigentlich nicht sein... :cry:

    Dann stellt sich noch die Frage, bei welchem Webhoster und auf was für einem Server-System du arbeitest. Vielleicht sind am Server Einstellungen aktiv, die diese Probleme auslösen. Aber das ist Spekulation.

    Du siehst, ich tappe nun auch im Dunkeln. Vielleicht weiß jemand anderes im Forum noch Rat?

    Gruß,
    Pöti

    Zwei Dinge fallen mir gerade noch dazu einfällt:

    Alternativ kannst Du auch versuchen, die Wordpress Option WordPress soll ungültig verschachtelten XHTML Code automatisch korrigieren unter Optionen->Schreiben zu deaktivieren. Ich weiß zwar niemanden der damit Probleme damit hat, aber Probieren geht über Studieren. :D

    Ansonsten kontrolliere ob die in den Optionen bei der Angabe der Vereichnisse zu Hochladen (Optionen->Verschiedenens) nicht aus versehen ein Backslash untergekommen ist. Aber auch das kann eigentlich nicht sein...

    Gruß,
    Pöti

    Auch mir ist das leidige Kommentar-Fehlerausgabe-Problem aufgefallen und die Lösung ist eigentlich ganz einfach (man muß nur noch die Zeit haben, sie auch umzusetzen 8) ):

    In der Datei wp-comments-post.php werden die Formulareingaben mittels die abgebrochen und geben Fehlermeldungen aus. Hier die vier Fälle:

    Code
    Zeile 13: die( __('Sorry, comments are closed for this item.') );
    Zeile 29: die( __('Sorry, you must be logged in to post a comment.') );
    Zeile 35: die( __('Error: please fill the required fields (name, email).') );
    Zeile 38: die( __('Error: please type a comment.') );


    Dazu fallen mir zwei Lösungen ein...

    1. Erstellen von 4 Fehlerseiten als Teile des Themes. Danach kann man die oben gezeigten Fehlerausgaben umleiten in den Aufruf dieser Dateien. Beispiel:

    Code
    die(include (TEMPLATEPATH . '/fehler.php'));


    Diese Lösung ist relativ einfach aber nicht sehr schön, denn wozu 4 neue Dateien erstellen?. Also die zweite Lösung:

    2. Man programmiert ein Plugin (also eine neue Funktion), das wiederum die Fehlerseite aufruft und dabei einen Fehlertext übergibt. Diese Funktion ersetzt dann in der wp-comments-post.php die Fehlerausgabe. Beispiel:

    Code
    die(errorhandling('Error: please fill the required fields (name, email).'));


    Vorteile dabei: Es muss nur eine Fehlerseite angelegt werden und die Funktion ist überall verfügbar.

    Vielleicht komme ich am Wochenende mal dazu und programmiere das. Eigentlich sind es nur ein paar wenige Zeile Code und die weiße Seite bei Kommentaren geht mir schon lange auf den Sack :shock: Aber ihr wisst ja wie das mit der Zeit so ist. Vielleicht gibt es zu den genannten Lösungen ja auch noch konstruktive Ergänzungen? Die können dann gleich mit in die Lösung einfließen.

    Gruß,
    Pöti

    Achtung: Der angegebene Code dient nur als Beispiel und ist nicht getestet!

    Mit einem Blick in den Quelltest siehst Du sehr schnell, wo das Problem liegt. Die Bilder sind schon richtig abgelegt, tendentiell auch richtig eingebunden, aber es sind Fehler im HTML-Tag.

    Momentan sieht ein Bildaufruf bei Dir so aus:

    Code
    <img src=\"http://wordpress.nonstop.li/wp-content/nonsi1.jpg\" alt=\"\" />

    er sollte jedoch so aussehen:

    Code
    [img]http://wordpress.nonstop.li/wp-content/nonsi1.jpg[/img]

    Du mußt herausfinden, woher die Backslash (\) in dem IMG-Tag kommen. Eigentlich werden diese Backslash im PHP Echo-Befehl verwendet, um das darauffolgende (Steuer-)Zeichen (hier das ") auszugeben, statt es zu interpretieren. Dabei wird der Backslash von Echo selbst als Steuerzeichen intepretiert und nicht mit ausgegeben.
    Beim IMG-Tag in Beiträgen von Wordpress ist es jedoch nicht nötig dieses Steuerzeichen zu benutzen, da alles als HTML behandelt und ausgegeben wird.

    Ich vermute mal, Du hast das entweder selbst so eingegeben oder ein Plugin funkt dazwischen. Ohne näher Infos kann man mehr dazu leider nicht sagen.

    Gruß,
    Pöti

    Du kannst in der style.css Deines Themes den Eintrag für Blockquote entsprechend verändern. Man bedient sich dabei allerdings eines Tricks. Was Du als Sprechblase empfindest, ist nichts anderes als ein Rechteck mit grauem Hintergrund. Darunter wird das Bild eines grauen Hackens angezeigt. Zusammen gibt es diese Sprechblase.

    So sieht das Bild des Hackens alleine aus (als Beispiel habe ich einfach mal das von mighty.de ausgeborgt):
    [Blockierte Grafik: http://www.poeti.de/image/alumni/blockquote.png]
    (Quelle: mighty.de)

    In der CSS Datei wird bei Blockquote einfach noch der Hintergrund formatiert und die Datei eingebunden:

    Code
    blockquote{background: #EEEEEE url(URL Bild Hacken) no-repeat bottom left; }

    So funktioniert das bei mighty. Wenn Du abgerundete Ecken möchtest, müßtest Du einen Hintergrundbild über das komplette Zitat legen. Da jedes Zitat aber unterschiedlich in länge und breite sein kann, wird das etwas komplexer. Da muß Dir ein andere helfen, sowas hab ich noch nie gemacht.

    Gruß,
    Pöti[/code]

    Zitat von janny

    hm, also ich hab immer alles gelöscht wenn ich es nicht brauchte. aber auch nur, weil mir jemand mal gesagt hat, dass man so auskommentiert /*....*/. und weils nicht funktioniert hat, hab ich es immer gelöscht. schön zu wissen, wie man richtig auskommentiert. danke dogman.

    janny: Ja, das alte Kommentieren. Leider hat Dir da jemand nur die Hälfte erzählt! Du kannst so /*...*/, so // oder so auskommentieren. Kommt nur drauf an wo:

    /* ... */ Kommentiert ganze Bereichen in PHP Code aus. Das kann also nur innerhalb eines PHP Aufrufs angewendet werden. Also innherhalb von

    PHP
    <?php ... ?>


    Auch wird diese Form von Kommentaren in CSS-Dateien verwendet.

    // ist das gleiche wie /*...*/, nur das es auf den rest einer Zeile innerhalb PHP angewendet werden kann.

    kommentiert HTML Code aus, also eigentlich alles was außerhalb eines PHP Aufrufs steht. Aber Achtung, mit einem HTML Kommentator kann kein PHP Code auskommentiert werden. Beispiel:

    HTML
    <html>...</html>
    <body>
    <!--
    <php? echo "Hallo Welt! Ich bin's!"; ?>
    -->
    <body>


    Trotz das der PHP Teil in HTML auskommentiert wurde, wird die Zeile "Hallo Welt! Ich bin's!" angezeigt. Dagegen kommentiert dies zuverlässig:

    HTML
    <html>...</html>
    <body>
    <php? /* echo "Hallo Welt! Ich bin's!"; */ ?>
    <body>


    In Zukunft weiterhin frohes Kommentieren :D

    Gruß,
    Pöti

    Okay, kleine Kopfnuss, aber ich habe Dein Problem gelöst! Zumindest habe ich es hier lokal in Kubik so zum laufen bekommen, wie Du es gerne hättest!

    Das ganze sieht so aus:

    PHP
    [*]<h2>Navigation</h2> 
    		<ul>
    			<li class="page_item">[url="<?php echo get_settings('home'); ?>"]Startseite[/url]
    			<?php wp_list_pages('title_li='); ?> 
    		[/list]


    Der ganze Gag dabei ist, das die Wordpress Anleitung etwas verwirrent ist (zumindest für mich :shock: )
    Der Befehl wp_list_pages('title_li=') zeigt die Seiten eingebettet in [*] an. Verzichtet also nicht ganz auf [*] sondern nur auf den zusätzlichen Kram <li id="pagenav"><ul><li class="page_item">. Danach war es eigentlich ganz einfach... :D

    Obriger Code gibt nun also eine schöne Liste der Seiten, mit der Startseite ganz oben und Navigation als Überschrift!

    Jetzt kann ich ruhig schlafen :lol:

    utem: Der Vorschlag mit den statischen Wordpress-Seiten als Startseite ist nicht schlecht, nur ist ja sein Blog seine Startseite, d.h. doch er würde extra eine Seite anlegen, die dann wiederum sein Blog läd, nur damit er einen Link Startseite hat... äh Ich hab irgendwo in den letzten Zeilen den geistigen Faden verloren und nun bestimmt ziemlichen Mist geschrieben :D

    Grüße,
    Pöti

    Dazu gibt es ein nettes Plugin, das Dashboard Options-Plugin.

    Hier ist es möglich eigene RSS Feeds für den Tellerrand zu definieren, bzw. diese sogar ganz auszuschalten. UND Du kannst Benutzer-Nachrichten eingeben, bzw. sogar von Benutzern Nachrichten eingeben lassen, die dann im Tellerrand angezeigt werden.

    Damit hast Du quasi die Wahl: Entweder nur ein Einführungstext oder sogar den Feed eines eigenen Redakteur-Blog.

    Leider geht es nicht ohne kleine Änderungen an den Wordpress-Dateien. Diese sind aber auf der Plugin-Seite gut beschrieben.

    Gruß,
    Pöti

    Wenn Du Dir mal den Output-Quelltext im Browser anschaust, dann siehst Du auch warum. Dein Output:


    In diesen verschachtelten Listen, ist der Link zur Startseite falsch positioniert. Zum einem muss er so notiert werden:

    Code
    <li class="page_item">[url="http://www.ilnowa.de"]Startseite[/url]


    zum andern an eine ganz andere Stelle:


    So sollte das dann keinen Bruch mehr in der Auflistung geben.

    Gruß,
    Pöti

    Re: Header IMG ändern ich komm nich klar

    Dein Codestück enthält einen Fehler! Die PHP If-Else Schleife dient dazu, den Dateinamen des Hintergrundbildes im <DIV id="headerimg"> zu ersetzen. Du schließt allerdings den HTML Aufruf dieses Dateinamens bereits vor dem PHP Code ab.

    Ersetze Deine beiden Zeilen

    PHP
    <div id="headerimg" style="background: url('image')">
    <?php


    durch

    PHP
    <div id="headerimg" style="background: url('
    <?php bloginfo('stylesheet_directory');


    Damit klappt der Aufruf. Gerade bloginfo('stylesheet_directory') verweißt auf die URL Deines Themes. Ist dieser aufruf nicht vorhanden, findet PHP natürlich auch keine Dateien und gibt einen Fehler aus.

    Ansonsten kann ich nur spekulieren. Du hast nicht die gesamte header.php gespostet, daher weiß ich nicht, welche Zeile die 28 ist, in der dieser Fehler auftritt.
    Bist Du sicher, das Du alle hier verwendeten Bilder (header_start.jpg, header_posting.jpg, header_archive.jpg, header_A.jpg, header_B.jpg, header.jpg) im Verzeichnis "images" hinterlegt hast. Es dürfen auch keine Schreibfehler beim Dateinamen (evtl. sogar groß und kleinschreibung) auftauchen.

    Wenn der Fehler immer noch auftaucht, poste Deine gesamte header.php von Anfang an hier und schreibe die Fehlermeldung nochmal dazu. Dann werde ich das versuchen auf meinem lokalen Testsystem nachzuvollziehen.

    Gruß,
    Pöti

    Wenn ich Dich richtig verstanden haben, kannst Du das auf drei Wegen erreichen. :D

    URL absolut: Die Startseite (Homepage) Deines Blogs verändert sich ja nicht und liegt immer unter http://www.ilnowa.de/. Darauf kannst Du einen Link setzen. Damit kannst Du dann aber das Theme niemals woanders einsetzen. Beispiel:

    Code
    [url="http://www.ilnowa.de/"]Startseite[/url]


    URL relativ: Das geht davon aus, das Deine Homepage im Root-Verzeichnis Deines Webservers liegt. Ein Link auf / und Du kommst immer zur Homepage. Damit wäre Dein Theme schon portierbar, aber noch nicht überall einsetzbar, da ein Blog nicht immer im Root läuft. Beispiel:

    Code
    [url="/"]Startseite[/url]


    Wordpress Anweisung: Die eleganteste Möglichkeit ist es, eine Wordpressanweisung einzubauen, die die Daten ausliest, die unter "Optionen->Allgemeine Einstellungen->Blog Adresse (URL):" eingegeben wurden. Damit ist Dein Theme portabel und Du kannst diesen Teil vergessen, da Du alle nötigen Optionen sowieso in Wordpress einstellst. Diese Möglichkeit ist also zu favoritisieren. Beispiel:

    PHP
    [url="<?php echo get_settings('home'); ?>"]Startseite[/url]


    Egal welche der Möglichkeiten Du benutzt, Du baust sie in der sidebar.php deines Themes vor dem Aufruf der statischen Seiten, wp_list_pages(), ein. Damit erscheint dieser Link auf allen Seiten des Blogs an erster Stelle vor den anderen statischen Seiten. (Das habe ich doch richtig verstanden?)
    Scheinbar werden Deine statischen Seiten als List ([*]) ausgegeben, daher müßte ein eingebauter Aufruf der Homepage bei Dir etwa so aussehen:

    PHP
    <h2>Navigation</h2><ul>
    
    
    [*][url="<?php echo get_settings('home'); ?>"]Startseite[/url]
    
    
    <?php wp_list_pages(...

    *nachmal durchles* Das war nun fast schon zu viel Text für so ne einfache Frage. Hab ich alle Klarheiten beseitigt?

    Gruß,
    Pöti

    Hi Janny,

    auch wenn Dich die Sidebar kirre macht, aus dem Ärmel kann man die Lösung nicht zaubern. Da brauchen die Leute hier im Forum schon noch ein paar Informationen mehr:

    Auf welchen Seiten wird Deine Sidebar nicht angezeigt? Hast Du am Theme was geändert? Wie bindest Du die Sidebar ein? Wie äußert sich das Problem genau? Kann man sich ein Beispiel des Problems ansehen?

    So etwas eben. Dann hat man auch eine reelle Chance Deine Frage zu beantworten. :D

    Gruß,
    Pöti

    AH, nun wird es mir klar...

    Du meinst die gesamte Zeit nicht die Admin-Mail sondern die Post-Author E-Mailadresse. Da haben wir gehörig aneinander vorbeigeredet.
    Hast Du dann bei dem zweiten Aufruf von wp_mail() Deine Pager-Adresse fest vorgegeben?
    Eines fällt mir dabei noch auf: Du bekommst aber doch nur die Kommentare zugesendet, die als Kommentare auf einen bestehenden Kommentar abgegeben wurden, oder? Zumindest arbeitet die Funktion wp_notify_postauthor bei mir so.

    Gruß,
    Pöti

    In der Datei comment-functions.php im Ordner wp_includes wird die Benachrichtigung ab Zeile 682 in der Funktion wp_notify_moderator ausgelöst.

    In Zeile 715 wird die Funktion wp_mail() zum versenden der Benachrichtigungmail aufgerufen. Hier kannst Du mit einem zweiten Funktionsaufruf ansetzen.

    Bei dieser Funktion sieht man auch, dass als Empfanger E-Mail die globale Variable $admin_email verwendet wird. Das ist die E-Mailadresse die in Wordpress unter Optionen->Allgemeine Einstellungen->E-Mail Adresse eingetragen ist. Nur in diesem Feld können mehrere Adressen als Empfänger unter Wordpress 1.5 eingetragen werden. Nach meinen Tests funktioniert das wunderbar. Die Eintragung mehrerer E-Mailadressen im Profil des Benutzers mit Adminrechten führt dagegen zu einer Fehlermeldung.
    Warum das bei Dir nicht so funktioniert, ist mir ehrlich gesagt ein Rätsel.

    Gruß,
    Pöti

    Puh, Gottseidank, nach den Startschwierigkeiten :D

    Noch ein Hamburger? Dann können wir bald ein Hamburger Bloggertreff nach Kölner Vorbild aufmachen! 8)

    Meine ICQ ist irgendwie über den Link unten erreichbar, habe ich aber nur Gelegentlich an.

    Gruß,
    Pöti