Wordpress arama sonuçları

4 Cevap php

Ben wordpress için bir searchfrom.php yarattık ama o bana kendinizi here arama deneyebilirsiniz yanlış döner veriyor

Here is the code for my search form

<form method="get" id="searchform" action="<?php bloginfo('home'); ?>/">
<input type="text" class="form-text" value="<?php echo wp_specialchars($s, 1); ?>" name="s" id="s" />
<input type="submit" id="searchsubmit" value="Search" class="goField" />
</form>

Here is the code of my search.php page

get_header(); ?>
  <div id="BodyWrap">
<div id="mainCont">
<?php get_sidebar(); ?>
<div id="mainCopy">

    <div id="content" class="narrowcolumn" role="main">

    <?php if (have_posts()) : ?>

        <h2 class="pagetitle">Search Results</h2>

        <div class="navigation">
            <div class="alignleft"><?php next_posts_link('&laquo; Older Entries') ?></div>
            <div class="alignright"><?php previous_posts_link('Newer Entries &raquo;') ?></div>
        </div>


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

            <div <?php post_class() ?>>
                <h3 id="post-<?php the_ID(); ?>"><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>
                <small><?php the_time('l, F jS, Y') ?></small>

                <p class="postmetadata"><?php the_tags('Tags: ', ', ', '<br />'); ?> Posted in <?php the_category(', ') ?> | <?php edit_post_link('Edit', '', ' | '); ?>  <?php comments_popup_link('No Comments &#187;', '1 Comment &#187;', '% Comments &#187;'); ?></p>
            </div>

        <?php endwhile; ?>

        <div class="navigation">
            <div class="alignleft"><?php next_posts_link('&laquo; Older Entries') ?></div>
            <div class="alignright"><?php previous_posts_link('Newer Entries &raquo;') ?></div>
        </div>

    <?php else : ?>

        <h2 class="center">No posts found. Try a different search?</h2>
        <?php get_search_form(); ?>

    <?php endif; ?>

    </div>
</div>
</div>
</div>
<?php get_footer(); ?>

Bu arama yapmak yok ama bu var "at | Genel | No comment" arama terimi parçası bile değildir.

4 Cevap

Oh, I see. You want to know why it lists categories even if they don't match the search term? Well, that's the default WordPress behavior. I guess you could change it, but I don't see why, actually.

Bu uygulama için


Posted in <?php the_category(', ') ?> | <?php edit_post_link('Edit', '', ' | '); ?>  <?php comments_popup_link('No Comments »', '1 Comment »', '% Comments »'); ?>

kategoriler ve yorumlar sayısını görüntüler sizin search.php part. Yukarıdaki kod kaldırmak Ancak, kategoriler ve yorum sayısı (kategoriler, arama terimi maçları bile) gösterilmeyecektir.

You may replace the code above with this code, if you only want to display the categories if they are the same as the search term:


<?php
foreach(get_the_category() as $cat){
    if(strtolower($cat->cat_name)==strtolower($_GET['s'])){
        $match = true;
    }
}
if($match){ echo 'Posted in '; }
foreach(get_the_category() as $cat){
    if(strtolower($cat->cat_name)==strtolower($_GET['s'])){
        echo $cat->cat_name;
        echo ', ';
    }
}
edit_post_link('Edit', '', ' | ');
comments_popup_link('No Comments »', '1 Comment »', '% Comments »');
?>
It should produce something like this, if the categories match the search term:

Posted in Category That Matches, Edit | 1 Comment

Kategoriler terim eşleşmiyor:

Edit | 1 Comment

Eğer yorumları görüntülemek için saymak (veya Yorumlar Kapalı) istemiyorsanız, benim kodundan comments_popup_link('No Comments »', '1 Comment »', '% Comments »'); satırını kaldırın.

It does do the search but there are this "at | Uncategorized | No comment" which is not even part of the search term.

Siz görmediniz / Kategoriler göstermesini arama sayfasını dışlamak için page.php veya Single.php düzenlemek gerekecek.

Belki this için searchform.php değiştirebilir?

Sarılı satırı kaldırın

. That will get rid of the "Posted in Uncategorized | Comments Off".

Bu arama sonucu için meta bilgilerdir çünkü bulunuyor göstermek nedenidir. Bunun ile ilişkili çünkü arama terimi olmasa bile sizin sonuçlarında görüntülenir.

Sonuçta, sizin search.php sayfası bu gibi görünmelidir:

get_header(); ?>
<div id="BodyWrap">
<div id="mainCont">
<?php get_sidebar(); ?>
<div id="mainCopy">

    <div id="content" class="narrowcolumn" role="main">

    <?php if (have_posts()) : ?>

        <h2 class="pagetitle">Search Results</h2>

        <div class="navigation">
            <div class="alignleft"><?php next_posts_link('&laquo; Older Entries') ?></div>
            <div class="alignright"><?php previous_posts_link('Newer Entries &raquo;') ?></div>
        </div>


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

            <div <?php post_class() ?>>
                <h3 id="post-<?php the_ID(); ?>"><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>
                <small><?php the_time('l, F jS, Y') ?></small>

            </div>

        <?php endwhile; ?>

        <div class="navigation">
            <div class="alignleft"><?php next_posts_link('&laquo; Older Entries') ?></div>
            <div class="alignright"><?php previous_posts_link('Newer Entries &raquo;') ?></div>
        </div>

    <?php else : ?>

        <h2 class="center">No posts found. Try a different search?</h2>
        <?php get_search_form(); ?>

    <?php endif; ?>

    </div>
</div>
</div>
</div>
<?php get_footer(); ?>