Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[wordpress]Pytania dotyczące comments.php

6 views
Skip to first unread message

hazet

unread,
Nov 16, 2009, 2:38:24 PM11/16/09
to
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

|<ońrad

unread,
Nov 16, 2009, 3:20:03 PM11/16/09
to
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_comments
http://codex.wordpress.org/Migrating_Plugins_and_Themes_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

0 new messages