Forum FAQForum FAQSearchSearch MemberlistMemberlist Forum ignore listForum ignore list RegisterRegister ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in
Wordpress ne priznaje page templateove

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side
View previous topic :: View next topic  
Author Message
blackshtef
mi3.crew


Joined: 13 Sep 2003
Posts: 661

PostPosted: 03.12.2009 02:06    Post subject: Wordpress ne priznaje page templateove Add user to your forum ignore list Reply with quote

Uh, možda ću malo komplicirano objasnit, al nadam se da ćete skužit Smile

Dakle
1) Imam site koji na naslovnici prikazuje nešto statično, a blog postove prikazuje na stranici "blog" - http://www.domena.com/blog/

2) Stranici "blog" je pridružen template "blog.php"

3) "blog.php" umjesto header.php vuče blog_header.php

4) u settingsima wordpressa (settings->reading) je postavljeno da se na naslovnici prikazuje page "neki-lijevi", a posts page je ostavljen prazan (kasnije objasnim zašto)

5) sve fino funkcionira, ali...
kad postavim posts_nav_link() u blog.php koji bi trebao postaviti one prev/next linkove, to ne funkcionira baš. Odnosno, prikažu se linkovi, ali kad se klikne na njih, ništa se (osim URL-a) ne promijeni.
Pretpostavljam da je to zato jer u blog.php postove dobivam sa
Code:
query_posts('showposts=10');


Okej, to ne funkcionira, pa sam otišao u settings, i tamo pod posts page stavio "blog"

E, sad funkcionira to, linkovi rade i stvarno se navigira kroz arhivu, ali mi wordpress sad ne želi prikazati tu stranicu u onom templateu kojem treba biti, nego je po defaultnom.
Da fora bude još veća, u page.php i index.php sam stavio ovaj komad koda (i da, stavio sam i <? php i ?> na kraj, al da forum slučajno ne poludi... Wink
Code:
if (is_page('blog')) { include (TEMPLATEPATH . '/blog_header.php'); }
else get_header();


ali neće Sad

uporno stavlja header.php a ne blog_header.php

Zapravo, moje pitanje je:
kako natjerati WP da "prizna" ovaj if uvjet ako se u settingsima postavi da "blog" bude stranica za postove? A to hoću jer jedino tada rade prev/next linkovi Sad
Ili možda - kako natjerati posts_nav_link() da radi u ovom page templateu kad se postovi dobivaju sa query_posts('showposts=10');

Hvala na čitanju Wink
Back to top
View user's profile Send private message Send e-mail MSN Messenger
maratz
mi3.crew


Joined: 24 Nov 2003
Posts: 1207
Location: ZAG

PostPosted: 03.12.2009 18:14    Post subject: Add user to your forum ignore list Reply with quote

Pa blog dio riješavaš kroz single.php a u single.php ako imaš više kategorija, svaku sa
svojim templateom za post view dodaš uvjet, npr:

Code:
<?php

    // Ovo je single.php

    if (in_category('1')) {
   
        include('single-blog.php');
   
    } else {
   
        include('single-default.php');
   
    }     

?>


Ne kužim zašto blog.php?

_________________
STOP HITTING YOURSELF! | NETIQUETTE | TYPETESTER | Hypertext rulez™ | CREATIVE NIGHTS | ACCOMMODATIONS
Back to top
View user's profile Send private message Visit poster's website Twitter profile
blackshtef
mi3.crew


Joined: 13 Sep 2003
Posts: 661

PostPosted: 03.12.2009 22:08    Post subject: Add user to your forum ignore list Reply with quote

blog.php mi je template za /blog, odnosno, on mi služi kao naslovnica bloga, ajmo reć.
i na njemu prikazujem zadnjih 10 postova, neovisno u koju su kategoriju spremljeni.

Page koji se zove "blog", njemu je dodijeljen template "blog.php", tak da to ima odvojen dizajn od svega...

I to je tak i funkcioniralo, ali kažem, onda ovo sa prev/next ne radi kak treba.
A ako u settingsima stavim da page "blog" bude za postove, onda se koristi page.php, ignorira se template "blog.php", bez obzira što u postoji ono if is_page('blog') { include blog_header.php } :/

Nije da svaka kategorija ima svoj template...
Back to top
View user's profile Send private message Send e-mail MSN Messenger
blackshtef
mi3.crew


Joined: 13 Sep 2003
Posts: 661

PostPosted: 03.12.2009 22:30    Post subject: Add user to your forum ignore list Reply with quote

sad sam probao i onak, najosnovnije:
- settings: posts page -> blog
- page blog: default template
- page.php ima if (blog) -> blog_header.php else get_header();
isto ima i index.php

ali opet ništa, opet mi gura defaultni template na blog dijelu Sad
Back to top
View user's profile Send private message Send e-mail MSN Messenger
maratz
mi3.crew


Joined: 24 Nov 2003
Posts: 1207
Location: ZAG

PostPosted: 04.12.2009 10:02    Post subject: Add user to your forum ignore list Reply with quote

Ako sam dobro shvatio, ti bi naslovnicu statičku, i blog dio "posebno". Ako postove misliš
samo tamo pisati, jednostavno naslovnicu blog dijela ispiši kao /page/1/ za
što onda koristiš category.php.

Npr: http://www.ljekarne-zz.hr/page/1 (svi ostali linkovi u glavnoj navigaciji su
post_type = 'page')

Sa pluginom Different Posts per Page kontroliraj ako želiš npr. na toj prvoj stranici od "bloga"
ispisati neki drugi broj postova od onih na 2., 3., ... stranici, a sa is_paged() provjeri da
li si na prvoj ili whatsoever stranici arhive ako želiš drugačiji dizajn.

... Ili "blog" pretvoriš u kategoriju, pa ga polinkaš direktno /category/blog/,
npr: http://www.glazbenaskolakrizevci.hr/kategorija/novosti

_________________
STOP HITTING YOURSELF! | NETIQUETTE | TYPETESTER | Hypertext rulez™ | CREATIVE NIGHTS | ACCOMMODATIONS
Back to top
View user's profile Send private message Visit poster's website Twitter profile
doxikus



Joined: 05 Jan 2005
Posts: 11
Location: Nigdjezemska

PostPosted: 04.12.2009 15:07    Post subject: Add user to your forum ignore list Reply with quote

Hm.. malo budalasto, zašto ne uzeti jedan page i njega staviti kao static page pod reading settingsima a ako će biti samo jedna kategorija blog (ne više), stiliziraj samo category.php, tj includaj header koji hoćeš gore. Ako je problem u permalinkovima pa zato radiš static page template onda si uzmi ovaj plugin http://wordpresssupplies.com/wordpress-plugins/no-category-base/ i instaliraj i dobit ćeš strukturu www.nešto.com/blog/. Ako ne onda probaj se poigrati sa category templates.

_________________
Samo VESELO!!!
Back to top
View user's profile Send private message Visit poster's website
blackshtef
mi3.crew


Joined: 13 Sep 2003
Posts: 661

PostPosted: 07.12.2009 15:58    Post subject: Add user to your forum ignore list Reply with quote

maratz wrote:
Ako sam dobro shvatio, ti bi naslovnicu statičku, i blog dio "posebno". Ako postove misliš
samo tamo pisati, jednostavno naslovnicu blog dijela ispiši kao /page/1/ za
što onda koristiš category.php.

Npr: http://www.ljekarne-zz.hr/page/1 (svi ostali linkovi u glavnoj navigaciji su
post_type = 'page')

Sa pluginom Different Posts per Page kontroliraj ako želiš npr. na toj prvoj stranici od "bloga"
ispisati neki drugi broj postova od onih na 2., 3., ... stranici, a sa is_paged() provjeri da
li si na prvoj ili whatsoever stranici arhive ako želiš drugačiji dizajn.


E točno to, i točno to je riješilo problem, doduše sa malim wayaroundom
page blog sam stavio da bude kao posts page, i složio 301 sa www.domena.com/blog/ na www.domena.com/blog/page/1/
i onda u index.php stavio
Code:
php if (is_paged()||(is_page('blog'))) { include (TEMPLATEPATH . '/blog_header.php'); }
else get_header();


Iako, ovo ni dalje ne prihvaća ovaj drugi uvjet, dok ne stavim ovaj redirect (odnosno, dok sam na www.domena,.com/blog/, dok nije paged) - opet ništa, baci defaultni header.
Odnosno, iako je is_page('blog') true, on to ignorira :/

Al ajd, radi i ovako Smile
Back to top
View user's profile Send private message Send e-mail MSN Messenger
Tristan



Joined: 01 Aug 2006
Posts: 614
Location: Under the sky

PostPosted: 07.12.2009 16:38    Post subject: Add user to your forum ignore list Reply with quote

is_page('blog') ne može biti istinit, a da php izvršava else blok, očito funkcija daje vrijednost različitu od true.
Problem (a on to zapravo i nije) leži u tome da funkcija provjerava što se treba prikazati i tako određuje na kojoj si stranici.
Postavio si da se na blog pageu prikazuju postovi i tamo se oni i pokazuju, ne pokazuje se page blog. Pošto se ne pokazuje
page blog već se prikazuju postovi, vrijednost funkcije je ekvivalentna laži.

Za detaljnije informacije potrebno malo znanja PHP-a http://core.trac.wordpress.org/browser/trunk/wp-includes/query.php#L380

Btw možda ti pomogne is_page_template http://codex.wordpress.org/Function_Reference/is_page_template

_________________
Carpe diem...
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group