Skocz do zawartości


Zdjęcie

Wordpress GD STAR RATING w komentarzach i wybranym miejscu na stronie


  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 makensis

makensis

    Naczelny

  • 5 036 postów

Napisano 11 11 2012 - 17:59

Najpopularniejszy system ocen GD STAR RATING oferuje ogromne możliwości odnośnie tworzenia własnych systemów ocen w każdym praktycznie miejscu w Wordpressie. Niestety support wtyczki jest w większości odpłatny, dlatego przedstawię w poradniku jak dostosować tą wtyczkę do własnej strony WWW sięgając po PHP.

Pierwsze spojrzenie na gd star Rating

Przykłady zastosowania:

gdstarrating-wppg-use.jpg

  • porównanie
  • ocena recenznenta
  • ocena komentarzy
  • ocena postów, strony
  • ocena użytkownika
  • średnia ocena
  • widżety(zaawansowane!)
  • lubię to lub nie
  • ocena wraz z monitoringiem pozycji
  • multiocena

Przydatne linki:

Dostosowanie gd star rating
W przykładach dałem odwołanie do funkcji wp_gdsr_render_multi dla ratingów pojedyńczych jest to wp_gdsr_show_article_rating, także proszę zajrzeć do specyfikacji tej funkcji.

Lokalizacja gd star rating w dowolnym miejscu na stronie

Podstawowa lokalizacja to góra lub dół postu dostępna z menu Multi Zestawy dla Multiocen:

thumb_pre_1352646650__gd_star_rating_mul

Jeśli chcemy zlokalizować panel z oceną w dowolnym miejscu na stronie musimy sięgnąć do źródła strony. Dla postów to w większości skórek jest plik: single.php w lokalizacji /wp-content/themes/twoja-skorka/ i dodać taką komendę:

<?php if (defined("STARRATING_INSTALLED")) : ?>
<?php wp_gdsr_render_multi(1, 12, 'false', 0, 'oxygen', 20, 'oxygen_gif', 'oxygen', 20, 'oxygen_gif'); ?>
<?php endif; ?>

Dla single oceny zgodnie ze specyfikacją jest to: wp_gdsr_show_article_rating()

W przypadku, gdy chcemy zlokalizować ocenę postu w innym miejscu np. sidebar strony to należy:
  • W pliku single.php zadeklarować zmienną i nadać jej wartość, czyli aktualne ID posta:
    <?php $moj_post = get_the_ID(); ?>
  • Teraz w pliku sidebar odwołujemy się do funkcji:
    <?php if (defined("STARRATING_INSTALLED")) : ?>
    <?php wp_gdsr_render_multi(1, 12, 'false', $moj_post , 'oxygen', 20, 'oxygen_gif', 'oxygen', 20, 'oxygen_gif'); ?>
    <?php endif; ?>
    Jeśli zmienna jest zadeklarowana poprawnie to powinien się wyświetlić panel z ocenami. Jeśli korzystamy z tego samego sidebara w zasięgu kategorii to lepiej w pliku single.php zrezygnować z odwołania <?php get_sidebar(); ?> i zastąpić go zawartością pliku sidebar.php .

gd star rating w komentarzach

Jeśli chcemy zobaczyć jaką ocenę artykułu wystawił użytkownik dodający komentarz należy znów odwołać się do źródła PHP. W tym miejscu mówię o ocenie artykułu, a nie komentarzy, która jest możliwa z poziomu ustawień gd star rating(Ustawienia -> Features -> Cechy wtyczki i Ocena Komentarzy.)! Do dzieła:

1 etap:
Wstawianie gd star rating w polu komentarza
Efekt jaki chcemy uzyskać to:
pre_1352647917__ocena-artykulu-w-komenta
Do dzieła:

  • W pliku comments.php naszej skórki znajdującej się w lokalizacji /wp-content/themes/nasza-skorka/ podmien odwołanie do formularza $form_args na:
    $form_args = array(
    'title_reply_to' => __('Reply to %s'),
    'title_reply' => __('Post a Review'),
    'comment_field' => wp_gdsr_comment_integrate_multi_rating($multi_set_id = 1, $template_id = 0, $value = 0, $stars_set = "oxygen", $stars_size = 24, $stars_set_ie6 = "oxygen", $echo = false).'<p class="comment-form-comment"><label for="comment">Twoja recenzja artykułu:</label><br /><textarea id="comment" name="comment" aria-required="true"></textarea></p>',
    'comment_notes_after' => __(''));
    comment_form( $form_args );
  • Zapisujemy zmiany i odświeżamy stronę

2 etap:
Wyświetlanie oceny artykułu gd star rating w komentarzach
Efekt jaki chcemy uzyskać to:
pre_1352648395__gd_star_rating_wyswietla
Do dzieła:

  • W pliku comments.php naszej skórki znajdującej się w lokalizacji /wp-content/themes/nasza-skorka/ szukamy odwołania do funkcji: wp_list_comments i w zależności od wybranego odwołania zmieniamy otwieramy plik functions.php domyślny Wordpressu lub co bardziej prawdopodbne functions.php naszej skórki. W moim przykładzie było to odwołanie: <?php wp_list_comments( array( 'callback' => 'resport_comment' ) ); ?>, gdzie obsługą wyświetlania zajmowała się funkcja resport_comment, której deklaracji szukamy w pliku functions.php:
  • Gdy już mamy deklarację funkcji( function resport_comment( $comment, $args, $depth ) { ) to w niej zamieszczamy kod php:
    <?php if (defined("STARRATING_INSTALLED")) : ?>
    <div style="float: right">
    <?php wp_gdsr_comment_integrate_multi_result(get_comment_ID(), 1, 0, 'crystal', 16); ?>
    </div>
    <?php endif; ?>
  • Zapisujemy zmiany i odświeżamy stronę

FAQ - gd star rating

  • Brak polskich znaków na stronie -> zmień kodowanie na UTF-8 źródła pliku PHP (najlepszy edytor Notepad++ ).
  • Widżet wyświetlający posty gd star rating nie działa -> w opcjach zaawansowanych widżetu zmień minimalną liczbę ocen z domyślnej '5' na '1' :)
  • Sortowanie postów po WP_Query -> w ustawieniach wtyczki włącz obsługę wp-query, niestety nie udało mi się nad tym zapanować pomimo gotowej solucji inne rozwiązanie znajduje się w odpłatnej części serwisu producenta wtyczki(sic 99$ dostęp!!). Pozsotaje korzystać z query-posts().
  • edycja CSS -> w pliku style.css naszej skórki dodajemy: .gdmultitable { } itd..
  • update do 2.0 alpha -> niemożliwy, inne fukcje, na razie kompletna niekompatybilność, sama wtyczka w wersji 2.0 posiada zerową dokumentację


  • 0

Zobacz więcej tematów z tagiem: gd star rating Wordpress komentarze Wordpress formularz kodowanie znaków



Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych