-
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