Úvodní stránka › Fórum podpory WordPressu › Problémy s WordPressem › funkce query_posts
Štítky: query_posts(), Stránkování
Zvolené téma obsahuje celkem 22 odpovědí. Do diskuze (3 účastníci) se naposledy zapojil uživatel Speedi a poslední změna je stará 9 let, 5 měsíců.
-
AutorPříspěvky
-
4. října 2011 (18:29) #1215
Ahoj, psal jsem ti na foru dgx.cz které právě nejede.. Jak mám vyřešit to stránkování když mi pomocí toho
global $paged;
query_posts('author=-3&cat=-3&paged='.$paged);nefunguje?
4. října 2011 (19:00) #9490Zdravím,
Nevím co přesně chcete, tuším ale, že chcete vytvořit stránkování bez pluginu a chválím to. Doporučuji pročíst návody, je jich velká kupa.
http://www.nabito.net/snadne-strankovani-ve-wordpress-bez-pluginu/
http://www.kriesi.at/archives/how-to-build-a-wordpress-post-pagination-without-plugin
http://design.sparklette.net/teaches/how-to-add-wordpress-pagination-without-a-plugin/
http://www.catswhocode.com/blog/how-to-integrate-a-pagination-in-your-wordpress-theme
A další… Stačí hledat: “Wordpress paginate without plugin” na Google.
Dále doporučuji prostudovat funkci query_posts:
http://codex.wordpress.org/Function_Reference/query_posts
Neteyes.cz
4. října 2011 (19:18) #9491No návodů už mám přečteno spousty a žádný z příkladů mi nefungoval..
Používám šablony z Artisteer a kod vypadá takto:
<?php
/*
Template Name: Uvod
*/
?>
<?php
get_header();
query_posts('cat=9');
if (have_posts())
{
while (have_posts())
{
art_post();
}
art_page_navi();
} else {
art_not_found_msg();
}
get_footer();Neoen mi co jsem stihl přečíst psal že by to mohlo jít pomocí WP_Query() ale nevím jak.
4. října 2011 (19:28) #9492A co takhle přesně podle návodu na http://design.sparklette.net/teaches/how-to-add-wordpress-pagination-without-a-plugin/ ?
První kód vložíte do functions.php, nastalujete si to a pomocí krátkého kódu vložíte do šablony:
<?php if (function_exists("pagination")) {
pagination($additional_loop->max_num_pages);
} ?>
Zdroj: design.sparklette.net4. října 2011 (19:39) #9493<?php/*Template Name: Hlavní stránka*/?>
<?php
get_header();
query_posts('cat=1');
if (have_posts())
{
while (have_posts())
{
art_post();
}
if (function_exists("pagination")) {
pagination($additional_loop->max_num_pages);
}
else {
art_not_found_msg();
}
get_footer();a hodilo mi to prázdnou stránku.. Vše jsem zkopíroval do functions a i do stylů. :-(
4. října 2011 (19:41) #9494Aha, konkurenční fórum má nějaký výpadek, ale šlo o tento problém, řešil to tam kolega, co se tam už mnoho let vyskytuje…
A doplním tedy aktuální odpověď:
Pokud je na hlavní stránce vybraná statická stránka s vlastní šablonou, tak je potřeba kód upravit takto (pouze platí pouze pro tento případ, doporučuji nastudovat):
$paged = get_query_var( 'page' );
query_posts( 'cat=1&paged=' . $paged );A pozor na soubory, které upravuješ, našel jsem tam dva soubory, které obsahují Template name “Hlavní stránka”, a to rubrika_hl.php i rubrika_kl.php.
A tvůj další dotaz je velmi správný, protože to jsem ti chtěl také navrhnout :-) Pokud chceš mít na hlavní stránce pouze příspěvky z určité rubriky, tak se automaticky použije soubor index.php (kde to také nastavíš pomocí funkce query_posts() a nemusíš se vůbec zabývat stránkami). A odkaz do menu můžeš dát buď rovnou na úvodní stránku nebo na tuto rubriku = oba budou zobrazovat stejné příspěvky.
4. října 2011 (19:46) #9495neteyescz: To je zcela jiný problém, který sem nepatří :-) On tam nepotřebuje přidat stránkování, ale nefunguje mu. Což ale bylo zřejmé pouze, pokud bys znal starší pozadí z jiného fóra… Speedi nám tu v tom dělá trochu bordel :-)
Speedi: Ano, bílá stránka tam je proto, že půjde o Fatal error, protože ti tam myslím chybí jedna složená závorka. Ale vůbec to tam nedávej, je to (zatím) zbytečné…
4. října 2011 (19:47) #9496<?php/*Template Name: Hlavní*/?>
<?php
get_header();
$paged = get_query_var( 'page' );
query_posts( 'cat=1&paged=' . $paged );
if (have_posts())
{
while (have_posts())
{
art_post();
}
}
art_page_navi();
}
else {
art_not_found_msg();
}
get_footer();a zase mám bílo.. Tak co furt dělám špatně?
4. října 2011 (19:48) #9497Hoši sorry za ten bordel jak to zpravím tak mě vykopněte :-D ale teď mi pomocte :-D
4. října 2011 (19:50) #9498Speedi: Použij kód z prvního příspěvku a ten pak doplň o uvedenou úpravu, někde jsi tam zapomněl složenou závorku (nebo tam je navíc)…
4. října 2011 (19:56) #9499<?php/*Template Name: Hlavní*/?>
<?php
get_header();
global $paged = get_query_var( 'page' );
query_posts( 'cat=1&paged=' . $paged );
if (have_posts())
{
while (have_posts())
{
art_post();
}
art_page_navi();
} else {
art_not_found_msg();
}
get_footer();a nic :-( napiš to prosím celé ten kod jak má vypadat..
4. října 2011 (20:01) #9500Takže teď všechno táhneme my :-)
4. října 2011 (20:01) #9501A “nic” co? V čem je problém teď? Mělo by to už být myslím dobře…
<?php
/*
Template Name: Hlavní stránka
*/
get_header();
$paged = get_query_var('page');
query_posts('cat=1&paged='.$paged);
if (have_posts()) {
while (have_posts()) {
art_post();
}
art_page_navi();
}
else {
art_not_found_msg();
}
get_footer();Navíc ti tam asi zůstalo slovo
global
…4. října 2011 (20:04) #95024. října 2011 (20:04) #9503“Výpadek” už mají 3 dny..
Děkuji už to jede :) Jste sqwělí chlapi.. :-)
4. října 2011 (20:05) #9504A co takhle?
<?php
$paged = get_query_var( 'page' );
query_posts( 'cat=1&paged=' . $paged );
if (have_posts())
{
while (have_posts())
{
art_post();
}
art_page_navi();
} else {
art_not_found_msg();
}
?>4. října 2011 (20:07) #9505Au, Admin to stihl dřív, to neplatí :-D
10. října 2011 (16:26) #9506neteyescz: Platí :-) Mimochodem ten první řádek je nějak špatně, ne?
Opravil jsem formátování celého vlákna a doplním ještě odkaz na manuál (sekce Pagination Parameters), kde je vysvětlena příčina změny z paged na page ve WordPressu 3.0.2.
A “konkurenční” fórum o WordPressu už také zase funguje, takže je tam možné dohledat celou předchozí diskuzi…
10. října 2011 (16:40) #9507Admin: Prosím o smazání, to je tak, když to člověk píše večer :-)
10. října 2011 (17:48) #9508 -
AutorPříspěvky
Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.