Hallo Leute,
ich möchte gerne eine eigene Suchseite erstellen. Das Problem ist, dass ich nicht genau weiß, wie ich das vernünftig umsetzte und ich glaube, dass ich vielleicht auch etwas zu kompliziert denke.
folgendes.
Ich möchte vom Menü des TwentyEleven einfach eine Seite aufrufen können, in der ich selber ein Formular definierene kann, in dem man verschiedene Suchkritereien festlegen kann, wie z.b Kategorie, Zeiteingrenzung, filterung eines Custom Fields, ...
entsprechend der Einstellungen soll dann anschließend nach einem Klick auf Suchen das entsprechende Ergebnis angezeigt werden.
Wie setzte ich das am einfachsten um??
Ich habe bisher folgendes gemacht, mit dessen Ergebnis ich noch nicht zufrieden bin, da es hier noch Fehler gibt..
<?php
/**
Template Name: Suche
*/
global $query_string;
get_header(); ?>
<div id="primary">
<div id="content" role="main">
<?php
If (!$_POST['channel']) {
echo "<form method='post' action='http://localhost/yourchannel/suche'>";
echo "<input type='checkbox' name='channel[]' value='Channel1'> Channel1 ";
echo "<input type='checkbox' name='channel[]' value='Channel2'> Channel2 ";
echo "<input type='checkbox' name='channel[]' value='Channel3'> Channel3 ";
echo "<br><br><input type='submit' name='Suche' value='Suche'></form><br>";
} else {
$channels = implode(',', $_POST['channel']);
echo "<br>".$channels."<br><br>";
$querry_string = "&category_name=".$channels;
$wp_query= null;
$wp_query = new WP_Query();
$wp_query->query('showposts=5'.'&paged='.$paged.$querry_string);
echo "<b>Found Posts: </b>".$wp_query->found_posts."<b><br>";
echo get_post_format()."<br>";
?>
<?php if ( have_posts() ) : ?>
<?php twentyeleven_content_nav( 'nav-above' ); ?>
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'content', get_post_format() ); ?>
<?php endwhile; ?>
<?php twentyeleven_content_nav( 'nav-below' ); ?>
<?php else : ?>
<article id="post-0" class="post no-results not-found">
<header class="entry-header">
<h1 class="entry-title"><?php _e( 'Nothing Found', 'twentyeleven' ); ?></h1>
</header><!-- .entry-header -->
<div class="entry-content">
<p><?php _e( 'Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.', 'twentyeleven' ); ?></p>
<?php get_search_form(); ?>
</div><!-- .entry-content -->
</article><!-- #post-0 -->
<?php endif; ?>
<?
} // form post
?>
</div><!-- #content -->
</div><!-- #primary -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
Alles anzeigen
Ich habe hier die page.php als Vorlage genommen, ihr im Header einen Template Namen gegeben, eigenen Code für das Formular und Code zur Anzeige meiner eigenen Loop hinzugefügt...
wenn ich das ganze also nun Aufrufe bekomme ich auch das Formular zu sehen. Nach einer Auswahl der Kategorie und anschließenden Klick auf Suche werden auch die richtigen Artikel angezeigt, jedoch stimmt dann die Anzeige der Artikel nicht ganz...die Schrift verrutscht etwas und rechts die Widgets sind plötzlich ganz unten...
was mache ich falsch?
oder besser noch...weiß jemand einen einfach Weg, wie ich eine solche eigene Suchseite bauen kann???
Grüße