facebooktwitteryoutube
in Kodowanie - 20 Lut, 2015
by admin - no comments
Wyniki szukania w WordPress – podliczanie

Wpisujesz słowo w pole wyszukiwarki. W odpowiedzi ukazuje się strona wyników z informacją znaleziono 16 wyników dla frazy “WordPress”. … To Google? … Nie, twój stary dobry WordPress.

Za wyświetlanie wyników wyszukiwania w WordPress odpowiedzialny jest pliksearch.php obecnie używanej szaty graficznej. Jeśli w katalogu szaty nie ma plikusearch.php WP zamiast tego wyświetla wyniki zgodnie ze schematem pliku index.php.

Search.php

Jeśli w katalogu twojej szaty nie ma search.php najprostszym sposobem, aby go dodać jest następujący:

  1. skopiuj plik index.php do innego katalogu
  2. zmień nazwę z index.php na search.php
  3. przenieś plik search.php z powrotem do folderu szaty

Podliczanie i liczenie

 

Teraz trzeba dodać podliczanie wyników:

1.) Otwórz search.php

2.) Na samej górze pliku w linijce pod <?php get_header(); ?> (i ewentualnie pod <?php get_sidebar(); ?>) wklej nastepujący kod:

$search_count = 0;
$search_text = '';

$search = new WP_Query("s=$s & showposts=-1");
if($search->have_posts()) : while($search->have_posts()) : $search->the_post();
$search_count++;
endwhile; endif;

if($search_count == 1) {$search_text = 'wynik';}
elseif ($search_count <= 4 ) {$search_text = 'wyniki';}
else {$search_text = 'wyników';}

3.) Linijkę przed właśnie dodanym kodem dodaj <?php

4.) Linijkę po kodzie dodaj ?>

5.) znajdź ciąg

if (have_posts()) : while (have_posts()) : the_post();

i zamiast tego miedzy znacznikami <?php i ?> wstaw:

if (have_posts()) :
$i = 0; while (have_posts()) : the_post(); $i++;

6.) Pomiędzy te dwie linijki kodu wstaw ciąg

echo $search_count . ' ' . $search_text . ' dla frazy ' . $s;

Wynik kroków 5 i 6 wynik powinien wyglądać tak:

if (have_posts()) :
echo $search_count . ' ' . $search_text . ' dla frazy ' . $s;
$i = 0; while (have_posts()) : the_post(); $i++;

7.) W miejscu, w którym chcesz by pokazał się kolejny numer (np. wynik numer 1, 2, 3 itd.) wklej kod

<?php echo $i; ?>

8.) Gotowe

PS. Jeśli zdążyłeś się zgubić załączam search.php w postaci pliku tekstowego (kliknij prawym przyciskiem i wybierz “zapisz jako”).

Chcecie więcej takich ciekawostek?