Beiträge von mastermind

    Hui, Du bist ja flott. ;)

    ich kapier das nicht. soeben auf texto.de versucht. ich suchte einfach nach *Plug* -ohne die Sternchen - und es kamen jede Menge Ergebnisse und alle waren farbig hinterlegt.

    Komisch. :-? Könnte ich evtl. einen Link zu der Suchseite bekommen? Kannst Du mir auch gerne per PN schicken.

    das zeigt mir bei der Suche nach -.de fast alle Beiträge an. ist dies zuwenig?

    Wieso zuwenig? im Übrigen bedeutet das Minuszeichen, dass der Begriff nicht vorkommen darf. D.h. es werden alle Seiten ausgegeben, in denen .de nicht enthalten ist.

    Die Plugins schaue ich mir mal an.

    (Btw, sollten wir nicht besser in dem anderen Thread diskutieren? Vllt. kann ein Mod die letzen Beiträge rüber schieben.)

    Es ist fertig, das lang ersehnte ;) Plugin für die erweiterte Suche.

    Herunterladen:
    http://www.zirona.com/software/wordpress-advanced-search/ (englisch)

    Wenn man das Plugin aktiviert, wird den WP-Spalten post_title, post_content und comment_content ein FULLTEXT-Index hinzugefügt. Das ist nix Schlimmes, und man kann es nach Deinstallation des Plugins wieder entfernen (muss man aber nicht).

    Danach kann man eine neue Seite anlegen und dort mit

    HTML
    <!--advancedsearch-->

    das Formular erzeugen lassen.

    Das sieht dann ungefähr so aus: http://www.contutto.com/download/screenshot_ctas.png

    Die Elemente haben alle id- und class-Attribute, so dass man das Formular bis in den letzen Winkel durchstylen kann. ;)

    Man kann das Formular auch selbst zusammenstellen, indem man eine eigene Seitenvorlage im Theme-Ordner erstellt und darin die Inhalte der Funktion ctas_form() in advancedsearch.php verwurstet.

    Viel Spaß beim Ausprobieren! :D

    Feedback und Verbesserungsvorschläge sind wie immer höchst erwünscht.

    Beim Upload unbedingt darauf achten, dass im ASCII- (nicht Binär-) Modus hochgeladen wird. Das könnte das Problem mit dem Buchstabensalat lösen.

    Wenn das PHP nicht ausgeführt wird, solltest Du nochmal prüfen, ob Dein Hosting-Paket auch PHP-Unterstützung hat.

    Ich versuche mal, das Problem etwas genauer zu beschreiben:

    Die 'normale' Suche findet exakte Übereinstimmungen mit dem Suchbegriff. Wenn ich nach großer Hund suchen würde, wäre der Satz "Hasso ist ein großer Hund." ein Treffer, "Hasso ist ein großer schwarzer Hund." jedoch nicht. Daher ist es für ein Plugin einfach, sich den Suchbegriff zu schnappen und in der Ausgabe zu markieren.

    Die Volltext-Suche arbeitet grundlegend anders. Sie betrachtet die Suchanfrage nicht als simple Zeichenkette, sondern sie nimmt die Wörter und sucht im gesamten Artikel nach jedem einzelnen Wort. Weiterhin ist sie erlaubt sie, festzulegen, ob von mehreren Wörtern eines oder alle enthalten sind. Es können auch Wörter bestimmt werden, die gar nicht vorkommen dürfen.

    Die Volltext-Suche hat eine weitere Besonderheit: da sie ja nach Wörtern und nicht Zeichenketten sucht, muss es man besonders kenntlich machen, wenn man nur nach dem Teil eines Wortes sucht. So würde man etwa mit dem Suchbegriff Fisch* Beiträge mit Fisch, Fischbrötchen und Fischmarkt finden.

    Nun könnte man meinen: Das sind alles klar definierte Fälle, und man könnte trotzdem eine Funktion einbauen, die Suchbegriffe filtert und hervorhebt. Das Problem ist nur, dass man bedeutend höheren Aufwand bei der Verarbeitung hätte, der sich negativ auf die Ladezeit der Seite auswirken würde.

    Fakt ist, dass die herkömmlichen Suchplugins mit der erweiterten Suche nichts anfangen können werden. Aber ich denke, man kann eine Hervorhebungsfunktion auch später in das Plugin integrieren.

    Im Übrigen schließen sich die herkömmliche und die erweiterte Suche nicht aus, somit werden alle Plugins wie bisher funktionieren, wenn man die normale Suche nutzt. Die erweiterte Suche ist über eine eigene Seite erreichbar.

    Nun ja, dann kann man die Statements halt erweitern. In meinem Beispiel oben sorgt etwa die zweite Zeile dafür, dass auch Anfragen mit leerem Referer die Bilder bekommen. Bei jottliebs Beispiel das gleiche (auch zweite Zeile).

    Mit den RSS-Feeds ist es etwas schwieriger. Du könntest aber versuchen, durch PHP oder HTML -- Stichwort: http-equiv -- den Referer zu überschreiben bzw. selbst zu setzen (nur eine Idee).

    Letztendlich gibt es m.E. keine bessere Lösung als den Kontext über den Referer zu bestimmen.

    Doch, das geht. Probier mal folgendes:

    Unter die Zeile

    PHP
    <?php while (have_posts()) : the_post(); ?>


    setzt Du folgenden Schnipsel:

    PHP
    <?php
    			if ( $olddate != get_the_time('jmY') )
    				echo '<h2>' . get_the_time('j. F Y') . '</h2>';
    
    
    			$olddate = get_the_time('jmY');
    		?>

    Übrigens darf ich Dir dringend empfehlen, kein Tabellenlayout zu benutzen. Es verzögert den Seitenaufbau, es ist nicht barrierefrei, und Suchmaschinen mögen es auch nicht unbedingt. Wirf mal einen Blick auf CSS-Layout. Das ist zwar etwas schwieriger, bietet aber letztlich bedeutend mehr Möglichkeiten.

    Das ist schon eine sehr spezielle Anforderung... glaube nicht, dass es sowas gibt.

    Zerlegen wir das Problem mal in Teilprobleme:
    1.) Bei jeder Anmeldung soll eine Kategorie für den user erstellt werden
    2.) User muss für die Kategorie Schreibrechte haben.

    Zu 1.)
    Es müsste nicht nur eine Kategorie automatisch erstellt werden (was noch das geringste Problem wäre), sondern es muss auch eine Möglichkeit geben, erweiterte Kategoriedaten anzugeben. Dazu bräuchte man eine Eingabemaske; das ist aber auch kein großes Problem.

    Zu 2.)
    Schreibrechte für bestimmte Kategorien wären das eigentliche Problem, da das bei WordPress nicht vorgesehen ist. Man müsste dafür den Admin-Bereich grob umstricken, und evtl. sogar die Datenbank aufbohren.

    Das mit der Hervorhebung läßt sich doch relativ leicht vor der Ausgabe mittels PHP erledigen. Einfach "Suchwort" duch "<span class='suchwort'>Suchwort</span>" ersetzen. Mit SQL hat das ja nichts zu tun.

    Stimmt, aber das lässt sich mit der erweiterten MySQL-Suche nicht konsistent gestalten. Bspw müsste man Jokerzeichen interpretieren, und das würde ewig dauern. Oder boolsche Operatoren müssten interpretiert und ausgefiltert werden. Sicherlich ist das technisch machbar, aber es sind praktische Grenzen gesetzt.