Posts Tagged ‘php’

wordpress loop

calendar 2011. március 6. author kobak

A loop a wordpress legjobb funkciója. Sokáig mumusként tekintettem rá, mert nem igazán értettem, hogy pontosan mire jó. Aztán rájöttem az egészen kézenfekvő válaszra: mindenre.

A Loop a wordpress lelke. Mindent megcsinál, s mindent vele csinálunk. A Loop írja ki a posztokat, oldalakat, mindent. És csodálatosan testreszabható.

Egy oldalon használhatunk akár több Loopot is. Az egész ügylet titka a $query_string változó. Ezt pedig a például a következőképpen alakíthatjuk kedvünk szerint:

<?php query_posts('posts_per_page=3&cat=4') //3 bejegyzés, a 4-es kategóriából
    if (have_posts()) : while (have_posts()) : the_post();  

//a tartalom kiírása the_title(); stb függvényekkel

php endwhile; endif; //mindent lezárunk
wp_reset_query(); //végül pedig reseteljük a query_stringet
?>

További infó a query_posts codex oldalon.

Azonban óvatosan a query_posts függvénnyel. Rast összerakott egy grafikont, s azon mutatja be mikor melyik queryt használjuk a wordpress témáinkban. Íme az említett ábra:

wp-config.php extrák

calendar 2010. augusztus 26. author kobak

Mindenki, aki wordpresst telepít, általában simán végigfut a telepítésen, aztán örül, hogy működik az oldal. Pedig, ha egy kis időt rászánunk, akkor remek extrákkal lehet még felvértezni a wordpress blogunkat. Ezeket a változtatásokat a wp-config.php fájlban tehetjük meg.

Kezdjük az elején. A wordpress remek funkciója, hogy bizonyos időközönként automatikusan menti az éppen készülőben lévő bejegyzést. Ez automatikusan 60 másodperc, amit könnyen felül tudunk bírálni a következő módon:


define('AUTOSAVE_INTERVAL', 160); // másodperc, de óvatosan, ha túl kicsire állítjuk, akkor bajok lehetnek

Hasonló módon a tárolt változatok számát is tudjuk limitálni:


// Limit the number of saved revisions
define('WP_POST_REVISIONS', 3); // bármilyen egész szám lehet, de itt nem érdemes túl nagyot megadni

Persze akár ki is kapcsolhatjuk ezt a funkciót:


// Disable the post-revisioning feature
define('WP_POST_REVISIONS', false);

A 2.9-es verziók vívmánya volt a kuka (Trash) bevezetése. Ez a sok ismert nagy operációs rendszerhez hasonlóan azt eredményezi, hogy nem tudunk törölni bejegyzést, hanem csak kukába helyezni. Eztán onnan végleg el lehet azokat távolítani. A wordpress is üríti a kukát automatikusan, mégpedig eredeti beállítás alapján 30 naponként. Ezt is felül lehet bírálni a

wp-config.php

fájlban:


define('EMPTY_TRASH_DAYS', 7); // hetente

Vagy akár ki is kapcsolhatjuk a kukát teljesen:


define('EMPTY_TRASH_DAYS', 0); // nincs kuka, minden mint régen

Lehet adatbázist is javítani wordpressen keresztül. Ezt azonban engedélyezni kell:


define('WP_ALLOW_REPAIR', true);

A cím, ahol pedig javítást el lehet végezni a következő: http://example.com/wp-admin/maint/repair.php. Értelemszerűen az example.com cserélendő a wordpress telepítés címére.
Biztonság szempontjából persze érdemes ezt a funkciót javítás után deaktiválni, azaz false értékre változtatni.

Ha rajtam kívül más is játszik azzal, hogy egyszer-egyszer lehúzza localba a wordpress telepítését, akkor ismeri a szívást, hogy az adatbázisban át kell írni a site_url-t a helyi címre. Ennél egyszerűbb, ha ezt is betesszük a wp-config.php fájlba:


define('WP_HOME', 'http://kobak.org');
define('WP_SITEURL', 'http://kobak.org');

Ezután a wordpress admin felületén ki lesz szürkítve a megfelelő rész.

Szintén fejlesztés, téma gyártás esetén lehet hasznos a debuggolás true értékre állítása:


define('WP_DEBUG', true); // debugging mode: 'true' = bekapcsolva; 'false' = kikapcsolva

Amik nekem fontosak voltak, azokat gyüjtöttem össze, s osztottam meg. További hasznos lehetőségek digging into wordpress bejegyzésben, vagy a wordpress codexben.

ramil safarov

calendar 2008. május 28. author kobak

Nos, Ramil Safarov egy érdekes ember. Azonkívül, hogy sokan láthattátok hasonlatosságát Csányi Sándor ünnepelt szinészünknel, egy örmény társának életét vette egy baltával. Ennek ellenére, vagy éppen ezért Azerbajdzsánban az Év Embere lett.

Weboldala három nyelven köszönti az olvasókat, köztük magyarul is. Ennek oka gondolom az, hogy tudomásom szerint még mindig nálunk van fogva tartva. Naprakész információval nem rendelkezem, pedig igyekeztem utánajárni a dolognak.

A dolgot szőnyeg alá seperhettük volna, s hallgathatnék a hibáinkról, de úgy érzem jobb ide leírni, hogy mi is, s Ti is tanulhassatok belőle. (more…)

CSS naked day

calendar 2008. április 8. author kobak

Április 9-én, azaz holnap újra CSS naked day lesz. Infók a 2006-os, első és a tavalyi 2007-es alkalomról. Idén a szervezők még több résztvevővel számolnak.

Hova tűnt a design?

Április 9-én mindenki megmutatja hogyan néz ki az oldala valójában. Ezzel is szemléltetve az xhtml+css erejét.

Hogyan vehetek részt ebben?

Jelentkezz a CSS Naked day oldalon, s bekerül az oldalad linkje is a résztvevők közé. Ezután semmi más dolgod nincs, mint minden CSS-t eltávolítani az oldaladról.

Opcionálisan a rémült olvasóidnak leírhatod, hogy nem az Ő böngészőjükkel van baj, hanem ez a mai egy ilyen nap:

[source:html]

Hova lett a design?

Ha meg akarod tudni mi történt, látogass el a

Annual CSS Naked Day
weboldalra további információért!

[/source]

Mikor lesz ilyen legközelebb?

Jövőre. Az időpont választásban több dolgot is figyelembe kell venni, ezért lett idén április 9-e a css naked day:

  • A Naked Day kedd, szerda, vagy csütörtök kell, hogy legyen (ezek a legforgalmasabb napok)
  • Közel kell essen április első hetéhez
  • Nem lehet április elseje (bolondok napja)
  • Legalább 5 nappal előbb meg kell hirdetni, mint esedékes

Ne gondolkozz, csak csináld!

Alábbi php kód megkönnyíti a naked dayre való felkészülést:

[source:php]
function is_naked_day($d) {
$start = date('U', mktime(-12, 0, 0, 04, $d, date('Y')));
$end = date('U', mktime(36, 0, 0, 04, $d, date('Y')));
$z = date('Z') * -1;
$now = time() + $z;
if ( $now >= $start && $now <= $end ) {
return true;
}
return false;
}
?>
[/source]

Egy példa a használatra:

[source:php]


if ( is_naked_day(9) ) {
echo '‘;
} else {
echo ‘ ‘;
}
?>


[/source]

Ha wordpresst használsz, akkor ajánlom Aja pluginjét, de rengeteg más platformhoz is találsz segítséget a CSS naked day oldalon.

kses.php

calendar 2007. szeptember 16. author kobak

Ha wordpress mu-t ha használ valaki, akkor észrevehette, hogy egy csomó tag opcionális attribútumait kiszűri a posztokból a mu. Ez zavaró tud lenni jó esetben, rosszabb esetben lehetetlenné teszi az életünket. A mu készítői ezt azzal magyarázzák, hogy így biztonságosabb lesz az oldalunk. Igazuk van, bár nem tudom, mekkora biztonsági rés az a tag esetében a class, vagy a target használata.

Ha felül szeretnénk bírálni a mu fejlesztő döntését, akkor keressük meg a wp-includes/kses.php fájlt, s nézzünk bele:

[source:php]$allowedposttags = array (‘address’ => array (), ‘a’ => array (‘href’ => array (), ‘title’ => array (), ‘rel’ => array (), ‘rev’ => array (), ‘name’ => array (), ‘class’ => array (), ‘target’ => array ())[/source]

Látható, hogy az a után a href, title, rel, rev, name, class, meg a target engedélyezettek. Ha bármi mást engedélyezni szeretnénk, akkor a 'mas' => array() formában kell beszúrni a fájlba.

internet explorer hiba

calendar 2006. június 26. author kobak

Sajnos a blogot internet explorerben nézve a jobb oldali side bar sokszor lecsúszik az oldal aljára. Emiatt átmenetileg az ie felhasználókat egy figyelmeztetés fogadja a header alatt:

explorer hiba üzenet

Az ötlet akkor fogant, miután HiA figyelmeztetett, hogy ie-ben hibásan jelenik meg az oldal, s utána megnéztem én is, s néha valóban így van. A probléma okát még keresem. Ekkor valamiért átszörföltem angelday blogjára, ahol megláttam, hogy ő figyelmeztet mindenkit az explorer használat buktatóira. Ekkor döntöttem el, hogy egy ilyen figyelmeztetést én is beteszek magamnak, amíg a probléma nincs orvosolva.

S ha már összepakoltam a dolgot, gondoltam megosztom mindenkivel, hogy csináltam. k2 esetén a theloop.php elejére biggyesztettem be a következő kis kódot:

[syntax,ie_alert.txt,php]

Egyéb témánál is működnie kell a fenti kódnak, azonban a formázást abban az esetben még külön meg kell csinálni.

több hasábos sidebar/footer

calendar 2006. június 11. author kobak

Dávid kérdésére úgy döntöttem nem csak ott válaszolok, hanem közzéteszem a dolgot mindenki számára.

A kérdés az, hogy lehet több hasábot tenni a sidebarra. Szerintem a legegyszerűbb módszer erre a következő:
Csinálsz css-ben egy div-et, aztán két másikat azon belül megadott szélességgel. Ezután a sidebar.php -ba beteszed a diveket, s működik az egész.

példa (css):
[syntax,ketoszlop.css,css]

(Értelemszerűen cseréld a szélességeket arra, amire akarod!)

példa (php file-ba illesztendő):

[syntax,ketoszlop.txt,php]

U.I.: php/css guruk javítsatok, ha valahol elrontottam!