Hy Leute,
Ist es möglich das Suchergebnis der Wordpress Suche zu Filtern?
Beispiels weise über den "Schlüssel:Wert" und dann irrgendiwe if (the_meta()=1) {...} usw..
Oder gibt es irrgend eine andere vieleicht sogar einfachere Lösung?
Gruss Ben
Um schreiben oder kommentieren zu können, benötigen Sie ein Benutzerkonto.
Sie haben schon ein Benutzerkonto? Melden Sie sich hier an.
Jetzt anmeldenHier können Sie ein neues Benutzerkonto erstellen.
Neues Benutzerkonto erstellen
Hy Leute,
Ist es möglich das Suchergebnis der Wordpress Suche zu Filtern?
Beispiels weise über den "Schlüssel:Wert" und dann irrgendiwe if (the_meta()=1) {...} usw..
Oder gibt es irrgend eine andere vieleicht sogar einfachere Lösung?
Gruss Ben
Hallo!
Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.
die Ausgabe der Suchergebnisse wird standardmäßig durch die search.php ausgegeben. Dort kannst du Abfragen ändern und Filtern was du möchtest.
Bin ich mit meiner Idee auf dem Richtigen Weg? Zur Zeit sieht das ganze so aus in der Search.php.
<div id="sitecenter">
<?php if (have_posts()) : ?>
<div id="titel">
<div class="titeltext1">
Suchergebnisse
</div>
</div>
<div id="content">
<div class="contenttext">
<?php while (have_posts()) : the_post(); ?>
<h1><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php
the_title_attribute(); ?>"><?php the_title(); ?></a></h1>
<p><?php the_excerpt(); ?></p>
<?php endwhile; ?>
<div id="suchen_nav">
<?php next_posts_link('weiter »') ?>
<?php previous_posts_link('« zurück') ?>
</div>
</div>
</div>
Alles anzeigen
Wie kann ich jetzt diese Abfrage machen? Ich nehme an das ich das "the_excerpt();" Tag irrgenwie behandeln muss.
du behandelst die Custom Fields genau so wie auch im normalen Loop Bereich:
Using Custom Fields WordPress Codex
Habe kurz die Anleitung studiert. Bin zu folgendem Punkt gekommen:
Nun kann ich mir ausgeben lassen welche Sprache die Seite hat.
Jetzt weiss ich aber noch nicht wie ich das mit dem "<?php the_excerpt(); ?>" zuammenbringe.
Hast du mir evt eine Idee wie ich das umsetzten könnte?
Das haben ich schon versucht auf diese Weise.
ich habe einigen Seiten den Schlüssel: lang und den Wert: de gegeben.
den anderen habe ich den Wert: fr gegeben. Er zeigt mir aber bei den Suchresultaten immer alle an, nicht nur die Seiten mit dem Wert de.
<?php
$sprache = get_post_meta($post->ID, 'lang', true);
if ($sprache="de") {
the_excerpt();
}
?>
welche ID nimmt er mit dem $post->ID? Die id der Seite die in den Suchresultaten angezeigt wird oder die ID der Suchresultatseite?
Was könnte da falsch sein?
[COLOR=#000000][COLOR=#006600][COLOR=Black]Das einfache Gleichheitszeichen ist in PHP eine Zuweisung (hier immer wahr), der Vergleich geht mit dem doppelten oder dreifachen:[/COLOR]
[/COLOR][/COLOR]
Yes, jetzt klapts!! Danke..
Er zeigt mir jetzt nur die "de" Seiten an. Das problem ist jetzt nur noch das mir das Ergebniss auf mehreren Seitne präsentiert wird. Dabei ist die erste leer. Dies gibt dem benutzer das gefühl dass keine Resultate vorhanden sind.
Wie kann ich machen dass mir die Suchresultate nur auf einer Seite angezeigt werden?
Schau dir mal die "Custom Fields"-Parameter von query_posts() an, vielleicht hilft dir das:
Template Tags/query posts WordPress Codex
Nun habe ich noch das letzte Problem entdeckt.
Ich muss von irrgend wo her merken welche sprach zur Zeit gerade verwendet wird. Um dies unterscheiden arbeite ich mit drei verschiedenen Templates -> de fr und en.
Ist es möglich drei verschiedene search.php zu benützen?
z.B. search_de, search_fr und search_en.
Wie spreche ich diese dann an?
Bei mir sieht der Code zur Zeit wie folgt aus um in die search.php zu springen
<div id="suchen">
<form method="get" id="searchform" action="<?php bloginfo('url'); ?>/">
<input type="text" value="<?php the_search_query(); ?>" name="s" id="eingabefeld" />
<input name="image" type="image" value="Search" src="<?php bloginfo('stylesheet_directory'); ?>/images/go.jpg" />
</form>
</div>
Ich muss von irrgend wo her merken welche sprach zur Zeit gerade verwendet wird. Um dies unterscheiden arbeite ich mit drei verschiedenen Templates -> de fr und en.
Wie übergibst du diese an WP? Wenn das geklärt ist, ist die Einbindung des korrekten Templates kein Problem mehr:
search.php:
<?php
switch ( $lang ) {
case 'de' : require 'search_de.php'; break;
case 'en' : require 'search_en.php'; break;
case 'fr' : require 'search_fr.php'; break;
default : die('Falsche Sprache!');
}
?>
Zitat
Bei mir sieht der Code zur Zeit wie folgt aus um in die search.php zu springenPHP<div id="suchen"> <form method="get" id="searchform" action="<?php bloginfo('url'); ?>/"> <input type="text" value="<?php the_search_query(); ?>" name="s" id="eingabefeld" /> <input name="image" type="image" value="Search" src="<?php bloginfo('stylesheet_directory'); ?>/images/go.jpg" /> </form> </div>
Abgesehen davon, dass der Code nicht dafür da ist "in die search.php zu springen"... ;-) Du kannst hier die Sprache bspw. als hidden-Field übergeben:
thank's für deinen prompte Antwort..
Versteh ich das richtig mit dem
[COLOR=#ff8000]<input type=[COLOR=#0000ff]"hidden"[/COLOR] name=[COLOR=#0000ff]"lang"[/COLOR] value=[COLOR=#0000ff]"de"[/COLOR] />[/COLOR]
übergeb ich dem search.php file den schlüssel "lang" und den Wert "de"
Im Search.php steht dann nur die Abfrage
[LEFT] [COLOR=#000000] [COLOR=#0000cc]<?php
[/COLOR][COLOR=#006600]switch ( [/COLOR][COLOR=#0000cc]$lang [/COLOR][COLOR=#006600]) {
case [/COLOR][COLOR=#cc0000]'de' [/COLOR][COLOR=#006600]: require [/COLOR][COLOR=#cc0000]'search_de.php'[/COLOR][COLOR=#006600]; break;
case [/COLOR][COLOR=#cc0000]'en' [/COLOR][COLOR=#006600]: require [/COLOR][COLOR=#cc0000]'search_en.php'[/COLOR][COLOR=#006600]; break;
case [/COLOR][COLOR=#cc0000]'fr' [/COLOR][COLOR=#006600]: require [/COLOR][COLOR=#cc0000]'search_fr.php'[/COLOR][COLOR=#006600]; break;
default : die([/COLOR][COLOR=#cc0000]'Falsche Sprache!'[/COLOR][COLOR=#006600]);
}
[/COLOR][COLOR=#0000cc]?>[/COLOR] [/COLOR] [/LEFT]
diese Werte übernimmt er dann von der vorherigen Übergabe und springt dann auf das entsprechende search_de.php??
Versteh ich das richtig??
Ja so in etwa.
besten Dank für die schnelle Antwort!!
Klapt bestens....
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!