eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.www[wordpress]Pytania dotyczące comments.php
Ilość wypowiedzi w tym wątku: 2

  • 1. Data: 2009-11-16 19:38:24
    Temat: [wordpress]Pytania dotyczące comments.php
    Od: hazet <h...@n...pl>

    Witam mam pewne pytania co do struktury pliku comments.php i jego funkcji.

    (Opieram się na defaultowym szablonie)

    1.
    KOD
    <?php
    /**
    * @package WordPress
    * @subpackage Default_Theme
    */

    // Do not delete these lines
    if (isset($_SERVER['SCRIPT_FILENAME']) && 'comments.php' ==
    basename($_SERVER['SCRIPT_FILENAME']))
    die ('Please do not load this page directly. Thanks!');

    if ( post_password_required() ) { ?>
    <p class="nocomments"><?php _e('This post is password
    protected. Enter the password to view comments.', 'kubrick'); ?></p>
    <?php
    return;
    }
    ?>


    Za co odpowiada ten kawałek kodu umieszczony na samej górze ? Zaczyna
    się od sprawdzenia czy aktualnie wykonywany skrypt i comments.php to to
    samo, jeśli tak to zatrzymuje skrypt z informacją ... aby nie zobaczyć
    pustego szablonu ? w takim razie inne pliki też powinny mieć ten warunek
    np. single.php.

    Drugi warunek sprwadza czy do odczytania postu potrzebne jest hasło i
    jeśli tak jest ustawione a adminie to wyświetla komunikat , nie wiem
    tylko co to za funkcja _e i drugi parametr nazwa autora.

    Dobrze rozumuje ? :

    2.
    KOD
    <?php comments_number(__('No Responses', 'kubrick'), __('One Response',
    'kubrick'), __('% Responses', 'kubrick'));?> <?php printf(__('to ?%s?',
    'kubrick'), the_title('', '', false)); ?>


    Ten kod wyświetla liczbę komentarzy, zastanawiam się tylko dlaczego w 2
    parametrze znowu widnieje autor, a w html tego nie widać ?
    Nie wiem jeszcze o co chodzi z <?php printf(__('to ?%s?', 'kubrick'),
    the_title('', '', false)); ?> jakie dane formatuje i czemu znowu 2
    parametr to kubrick ?

    3.
    KOD
    <ol class="commentlist">
    <?php wp_list_comments();?>
    </ol>


    Rozumiem, że muszę sobie podejrzeć w kodzie ustawienie bloków, nazwy
    klas itp. aby na podstawie tego ostylować wyświetlanie komentarzy ?

    4.
    KOD
    <?php if ( have_comments() ) : ?>

    .........

    <?php else : // this is displayed if there are no comments so far ?>

    <?php if ( comments_open() ) : ?>
    <!-- If comments are open, but there are no comments. -->

    <?php else : // comments are closed ?>
    <!-- If comments are closed. -->
    <p class="nocomments"><?php _e('Comments are closed.',
    'kubrick'); ?></p>

    <?php endif; ?>
    <?php endif; ?>


    Interesuje mnie druga część tego ifa po else, funkcja comments_open().
    Co mam rozumieć przez "jeśli komentarze są otwarte" i " jeśli zamknięte" ?

    5.
    Nie za bardzo rozumiem o co chodzi z funkcją comment_form_title() , w
    codex jest napisane, że wyświetla tekst na podstawie statusu odpowiedzi ?

    6.
    Dalej w kodzie znalazłem taki fragment:

    KOD
    <div id="cancel-comment-reply">
    <small><?php cancel_comment_reply_link() ?></small>
    </div>


    Sprawdzałem na żywo i jest tam niewidoczny link z linkiem do anulowania
    odpowiedzi
    KOD
    <a rel="nofollow" id="cancel-comment-reply-link"
    href="/wordpress/?p=1&cpage=1#respond" style="display:none;">Kliknij
    tutaj, aby anulować odpowiadanie.</a>


    Nie wiem tylko kiedy się uaktywnia. Logowałem, wylogowywałem i nigdy nie
    widziałem.

    7.
    Następnie mam kawałek, przed formularzem

    KOD
    <?php if ( get_option('comment_registration') && !is_user_logged_in() ) : ?>
    <p><?php printf(__('You must be <a href="%s">logged in</a> to post a
    comment.', 'kubrick'), wp_login_url( get_permalink() )); ?></p>
    <?php else : ?>


    Rozumiem, że kod ten uaktywnia się gdy w panelu ustawię odpowiadanie
    tylko dla zalogowanych osób ? w innym wypadku dalej wyświetla się
    formularz dodawania komentarzy o który popytam jak uporam się z wyżej
    wymienionymi dręczącymi pytaniami

    Aha, jeszcze jedno, czy jest jakaś funkcja wskazująca na stronę główną
    bloga ? wydawało mi się, że była, ale nie pamiętam już. Chciałem to
    zastosować i wstawić linka do funkcji die() z pytania nr. 1


  • 2. Data: 2009-11-16 20:20:03
    Temat: Re: [wordpress]Pytania dotyczące comments.php
    Od: |<ońrad <k...@g...com>

    Dnia Mon, 16 Nov 2009 20:38:24 +0100, hazet napisał(a):
    > Za co odpowiada ten kawałek kodu umieszczony na samej górze ? Zaczyna
    > się od sprawdzenia czy aktualnie wykonywany skrypt i comments.php to to
    > samo, jeśli tak to zatrzymuje skrypt z informacją ... aby nie zobaczyć
    > pustego szablonu ? w takim razie inne pliki też powinny mieć ten warunek
    > np. single.php.

    single.php moze sie wczytac do przegladarki samodzielnie bo zadna krzywda
    sie nie zrobi. comments.php aby dobrze dzialal musi posiadac obiekt $post
    wziety z pliku ktory ja wczytuje (np z single.php). bo zeby dodac
    komentarz potzrebuje informacji do jakiego artykulu komentarz ma zostac
    dodany (zapewne bierze to pprzez $post->ID)


    >
    > Drugi warunek sprwadza czy do odczytania postu potrzebne jest hasło i
    > jeśli tak jest ustawione a adminie to wyświetla komunikat , nie wiem
    > tylko co to za funkcja _e i drugi parametr nazwa autora.

    funkcje _e() oraz __() (o ktorej piszesz nizej) to funkcje gettextowe.
    powoduja podstawienie pod tekst podany w pierwszym parametrze jego
    tlumaczenia jesli istnieje.
    http://codex.wordpress.org/Translating_WordPress


    > <?php comments_number(__('No Responses', 'kubrick'), __('One Response',
    > 'kubrick'), __('% Responses', 'kubrick'));?> <?php printf(__('to ?%s?',
    > 'kubrick'), the_title('', '', false)); ?>
    >
    >
    > Ten kod wyświetla liczbę komentarzy, zastanawiam się tylko dlaczego w 2
    > parametrze znowu widnieje autor, a w html tego nie widać ?

    to nie autor a nazwa pakietu (theme'u). zapewne podpowiada ona gdzie ma
    szukac plikow z tlumaczeniammi (ale nie wnikalem nigdy az tak gleboko w
    gettexta w wordpressie)


    > 3.
    > KOD
    > <ol class="commentlist">
    > <?php wp_list_comments();?>
    > </ol>
    >
    >
    > Rozumiem, że muszę sobie podejrzeć w kodzie ustawienie bloków, nazwy
    > klas itp. aby na podstawie tego ostylować wyświetlanie komentarzy ?

    takk najlatwiej, jesli nie potrzebujesz zmieniac ukladu komentarzy. jesli
    chcesz miec pelna kontrole nad komentarzami mozesz sobie napisac wlasny
    callback do tego

    http://codex.wordpress.org/Template_Tags/wp_list_com
    ments
    http://codex.wordpress.org/Migrating_Plugins_and_The
    mes_to_2.7/
    Enhanced_Comment_Display


    > Interesuje mnie druga część tego ifa po else, funkcja comments_open().
    > Co mam rozumieć przez "jeśli komentarze są otwarte" i " jeśli zamknięte"
    > ?

    w wordpressie mozesz ustawic aby np po x dniach mozliwosc dodawania
    komentarzy zostala zablokowana (zamknieta)

    >
    > 5.
    > Nie za bardzo rozumiem o co chodzi z funkcją comment_form_title() , w
    > codex jest napisane, że wyświetla tekst na podstawie statusu odpowiedzi
    > ?
    >
    > 6.
    > Dalej w kodzie znalazłem taki fragment:
    >
    > KOD
    > <div id="cancel-comment-reply">
    > <small><?php cancel_comment_reply_link() ?></small>
    > </div>
    >
    >
    > Sprawdzałem na żywo i jest tam niewidoczny link z linkiem do anulowania
    > odpowiedzi
    > KOD
    > <a rel="nofollow" id="cancel-comment-reply-link"
    > href="/wordpress/?p=1&cpage=1#respond" style="display:none;">Kliknij
    > tutaj, aby anulować odpowiadanie.</a>
    >
    >
    > Nie wiem tylko kiedy się uaktywnia. Logowałem, wylogowywałem i nigdy nie
    > widziałem.

    wg tego co jest w wp-includes/comment-template.php (tak btw jak nie wiesz
    co robi funkcja, odnajdz ja) dipsplay:none nie pojawia sie jesli strona
    ma isset($_GET['replytocom']). czyli zgaduje ze jak dodasz komentarz to
    po submicie pojawi sie pod nim opcja usuniecia komentarza

    >
    > 7.
    > Następnie mam kawałek, przed formularzem
    >
    > KOD
    > <?php if ( get_option('comment_registration') && !is_user_logged_in() )
    > : ?> <p><?php printf(__('You must be <a href="%s">logged in</a> to post
    > a comment.', 'kubrick'), wp_login_url( get_permalink() )); ?></p> <?php
    > else : ?>
    >
    >
    > Rozumiem, że kod ten uaktywnia się gdy w panelu ustawię odpowiadanie
    > tylko dla zalogowanych osób ?

    tak

    > Aha, jeszcze jedno, czy jest jakaś funkcja wskazująca na stronę główną
    > bloga ? wydawało mi się, że była, ale nie pamiętam już. Chciałem to
    > zastosować i wstawić linka do funkcji die() z pytania nr. 1

    header("Location: ".bloginfo('url')."");

    ale podejrzewam ze mozesz dostac error 'headers already send' (niemal na
    pewno dostaniesz, przeladuj javascriptem)





    --
    body {
    name: '|<ońrad Karpieszu>|';
    blog: url('http://www.muzungu.pl/'); }
    p.s. O aukcjach czytaj na http://www.aukcjoteka.com

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: