Hack wordpress
De la EuroDomenii - Domenii .Eu .Ro Registrator Acreditat
Linia 6: | Linia 6: | ||
- | Deoarece am promis, sunt obligat sa scriu acest articol despre cateva hack-uri ale Wordpress-ului. Nu stiu daca "hack-uri" este cuvantul potrivit, dar este cel mai apropiat de intelesul articolului pe care am sa il scriu. Mai exact, in acest articol despre diferite insusiri ale Wordpress-ului, pe care acesta nu le are "out-of-the-box", si care pot fi indeplinite doar cu anumite plugin-uri sau hack-uri. Cu ajutor-ul hack-uilor, puteti sa transformati aceasta platforma de blogging intr-un adevarat sistem de administrare a continutului (CMS). Deoarece eu nu sunt un developer, ci un designer, am sa ma bazez mai mult pe tweak-urile front-end. | + | Deoarece am promis, sunt obligat sa scriu acest articol despre cateva hack-uri ale Wordpress-ului. Nu stiu daca "hack-uri" este cuvantul potrivit, dar este cel mai apropiat de intelesul articolului pe care am sa il scriu. Mai exact, in acest articol despre diferite insusiri ale Wordpress-ului, pe care acesta nu le are "out-of-the-box", si care pot fi indeplinite doar cu anumite plugin-uri sau hack-uri. Cu ajutor-ul hack-uilor, puteti sa transformati aceasta platforma de blogging intr-un adevarat sistem de administrare a continutului (CMS). Deoarece eu nu sunt un developer, ci un designer, am sa ma bazez mai mult pe tweak-urile front-end. |
- | + | ||
- | + | ||
- | + | ===1. Titlu dinamic=== | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | Teoretic, acest lucru poate fi indeplinit cel mai usor cu ajutorul unor pluginuri gen WP-Seo. Acest tweak trebuie plasat in fisierul header.php, intre elementele title. Exemplu: <br /> | |
- | Acest | + | |
- | + | ||
- | + | ||
- | <?php | + | <div class="codeblock"><code> |
+ | <font color="rgb(0, 119, 0)"><</font><font color="rgb(0, 0, 187)">title</font><font color="rgb(0, 119, 0)">><br /></font><font color="rgb(0, 0, 187)"><?php<br /></font><font color="rgb(0, 119, 0)">if (</font><font color="rgb(0, 0, 187)">is_home</font><font color="rgb(0, 119, 0)">()) </font><font color="rgb(0, 0, 187)">{ </font><font color="rgb(0, 119, 0)">echo </font><font color="rgb(0, 0, 187)">bloginfo</font><font color="rgb(0, 119, 0)">(</font><font color="rgb(221, 0, 0)">'name'</font><font color="rgb(0, 119, 0)">); </font><font color="rgb(0, 0, 187)">} <br /></font><font color="rgb(0, 119, 0)">elseif (</font><font color="rgb(0, 0, 187)">is_404</font><font color="rgb(0, 119, 0)">()) </font><font color="rgb(0, 0, 187)">{ </font><font color="rgb(0, 119, 0)">echo </font><font color="rgb(221, 0, 0)">'Eroare - 404 - Pagina inexistenta'</font><font color="rgb(0, 119, 0)"><nowiki>; </nowiki></font><font color="rgb(0, 0, 187)">} <br /></font><font color="rgb(0, 119, 0)">elseif (</font><font color="rgb(0, 0, 187)">is_category</font><font color="rgb(0, 119, 0)">()) </font><font color="rgb(0, 0, 187)">{ </font><font color="rgb(0, 119, 0)">echo </font><font color="rgb(221, 0, 0)">'Categorie:'</font><font color="rgb(0, 119, 0)"><nowiki>; </nowiki></font><font color="rgb(0, 0, 187)">wp_title</font><font color="rgb(0, 119, 0)">(</font><font color="rgb(221, 0, 0)"><nowiki>''</nowiki></font><font color="rgb(0, 119, 0)">);</font><font color="rgb(0, 0, 187)">} <br /></font><font color="rgb(0, 119, 0)">elseif (</font><font color="rgb(0, 0, 187)">is_search</font><font color="rgb(0, 119, 0)">()) </font><font color="rgb(0, 0, 187)">{ </font><font color="rgb(0, 119, 0)">echo </font><font color="rgb(221, 0, 0)">'Rezultatele cautarii'</font><font color="rgb(0, 119, 0)"><nowiki>; </nowiki></font><font color="rgb(0, 0, 187)">} <br /></font><font color="rgb(0, 119, 0)">else </font><font color="rgb(0, 0, 187)">{ </font><font color="rgb(0, 119, 0)">echo </font><font color="rgb(0, 0, 187)">wp_title</font><font color="rgb(0, 119, 0)">(</font><font color="rgb(221, 0, 0)"><nowiki>''</nowiki></font><font color="rgb(0, 119, 0)">); </font><font color="rgb(0, 0, 187)">}<br />?><br /></font><font color="rgb(0, 119, 0)"></</font><font color="rgb(0, 0, 187)">title</font><font color="rgb(0, 119, 0)">></font> | ||
+ | |||
+ | </code></div> | ||
- | + | ===2. Template unic pentru fiecare categorie.=== | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | Acest mic tweak te ajuta sa dispui de un template pentru fiecare categorie in parte. Nu exista niciun cod special. Trebuie doar sa creati fisiere cu ID-ul categoriei, si sa includeti template-ul in ele. De exemplu, categoria cu ID-ul 5 va incarca template-ul din category-5.php , iar categoria cu ID-ul 10 din template-ul category-10.php . | |
- | + | ||
- | + | ||
- | + | ===3. Afisarea ultimilor 10 articole=== | |
+ | Acest cod va afisa ultimile 10 articole intr-o lista neordonata : | ||
- | + | <div class="codeblock"><code> | |
+ | <font color="rgb(0, 0, 187)"><?php query_posts</font><font color="rgb(0, 119, 0)">(</font><font color="rgb(221, 0, 0)">'showposts=10'</font><font color="rgb(0, 119, 0)">); </font><font color="rgb(0, 0, 187)">?><br /><br /></font><font color="rgb(0, 119, 0)"><</font><font color="rgb(0, 0, 187)">ul</font><font color="rgb(0, 119, 0)">><br /> </font><font color="rgb(0, 0, 187)"><?php </font><font color="rgb(0, 119, 0)">while (</font><font color="rgb(0, 0, 187)">have_posts</font><font color="rgb(0, 119, 0)">()) : </font><font color="rgb(0, 0, 187)">the_post</font><font color="rgb(0, 119, 0)">(); </font><font color="rgb(0, 0, 187)">?><br /> </font><font color="rgb(0, 119, 0)"><</font><font color="rgb(0, 0, 187)">li</font><font color="rgb(0, 119, 0)">><</font><font color="rgb(0, 0, 187)">a href</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"<?php the_permalink() ?>"</font><font color="rgb(0, 119, 0)">></font><font color="rgb(0, 0, 187)"><?php the_title</font><font color="rgb(0, 119, 0)">(); </font><font color="rgb(0, 0, 187)">?></font><font color="rgb(0, 119, 0)"></</font><font color="rgb(0, 0, 187)">a</font><font color="rgb(0, 119, 0)">></</font><font color="rgb(0, 0, 187)">li</font><font color="rgb(0, 119, 0)">><br /> </font><font color="rgb(0, 0, 187)"><?php </font><font color="rgb(0, 119, 0)">endwhile;</font><font color="rgb(0, 0, 187)">?><br /></font><font color="rgb(0, 119, 0)"></</font><font color="rgb(0, 0, 187)">ul</font><font color="rgb(0, 119, 0)">></font> | ||
+ | |||
+ | </code></div> | ||
- | + | ===4. Tag-uri conditionale=== | |
- | + | ||
- | + | ||
- | + | ||
- | + | Dupa cum ati vazut si in exemplul dat pentru titlul dinamic, am folosit tag-uri conditionale. Ce fac acestea? Acestea decid daca o anumita conditie are valoarea Adevarat sau Fals. Cateva dintre aceste tag-uri: | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ====Pagina Principala :==== | |
- | + | ||
- | + | ||
- | < | + | <div class="codeblock"><code> |
- | + | <font color="rgb(0, 0, 187)">is_home</font><font color="rgb(0, 119, 0)">()</font> | |
- | + | </code></div> | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ====Prima pagina :==== | |
- | + | ||
- | + | ||
- | + | Cand prima pagina a siteului este afisata, ultimile articole sau o pagina. | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | <div class="codeblock"><code> | |
+ | |||
+ | <font color="rgb(0, 0, 187)">is_front_page</font><font color="rgb(0, 119, 0)">()</font> | ||
+ | </code></div> | ||
- | + | <br /> | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ====<br /> O pagina cu un singur articol:==== | |
- | + | ||
- | + | ||
- | + | <div class="codeblock"><code> | |
+ | <font color="rgb(0, 0, 187)">is_single</font><font color="rgb(0, 119, 0)">()</font> | ||
+ | </code></div> | ||
- | + | Pentru mai multe tag-uri conditionale, vizitati codex-ul WP. | |
- | + | ||
- | + | ||
- | + | ===5.Afisarea Reclamelor dupa primul articol=== | |
- | + | Si aici tot tag-urile conditionale fac toata treaba + variabila '''$loopcounter''' . Daca aceasta este egala cu 1, afisam reclamele, daca nu, nu le afisam. | |
- | + | <div class="codeblock"><code> | |
- | + | <font color="rgb(0, 0, 187)"><?php </font><font color="rgb(0, 119, 0)">if (</font><font color="rgb(0, 0, 187)">have_posts</font><font color="rgb(0, 119, 0)">()) : </font><font color="rgb(0, 0, 187)">?><br /><?php </font><font color="rgb(0, 119, 0)">while (</font><font color="rgb(0, 0, 187)">have_posts</font><font color="rgb(0, 119, 0)">()) : </font><font color="rgb(0, 0, 187)">the_post</font><font color="rgb(0, 119, 0)">(); </font><font color="rgb(0, 0, 187)">$loopcounter</font><font color="rgb(0, 119, 0)">++; </font><font color="rgb(0, 0, 187)">?><br /> <?php </font><font color="rgb(0, 119, 0)">if (</font><font color="rgb(0, 0, 187)">$loopcounter </font><font color="rgb(0, 119, 0)"><= </font><font color="rgb(0, 0, 187)">1</font><font color="rgb(0, 119, 0)">) </font><font color="rgb(0, 0, 187)">{ </font><font color="rgb(0, 119, 0)">include (</font><font color="rgb(0, 0, 187)">TEMPLATEPATH </font><font color="rgb(0, 119, 0)">. </font><font color="rgb(221, 0, 0)">'/reclame.php'</font><font color="rgb(0, 119, 0)">); </font><font color="rgb(0, 0, 187)">} ?><br /><?php </font><font color="rgb(0, 119, 0)">endwhile; </font><font color="rgb(0, 0, 187)">?><br /><?php </font><font color="rgb(0, 119, 0)">else : </font><font color="rgb(0, 0, 187)">?><br /><?php </font><font color="rgb(0, 119, 0)">endif; </font><font color="rgb(0, 0, 187)">?></font> | |
+ | |||
+ | </code></div> | ||
- | + | <br /> Dupa cum ati observat, in reclame.php trebuie sa fie codul pentru reclamele de la Google. | |
- | + | ===6.Plasarea unui formular de login in sidebar=== | |
+ | Cu ajutorul acestui cod, puteti afisa o sectiune pentru membrii: | ||
- | = | + | <div class="codeblock"><code> |
- | + | <font color="rgb(0, 119, 0)"><</font><font color="rgb(0, 0, 187)">li</font><font color="rgb(0, 119, 0)">><br /> </font><font color="rgb(0, 0, 187)"><?php </font><font color="rgb(0, 119, 0)">global </font><font color="rgb(0, 0, 187)">$user_ID</font><font color="rgb(0, 119, 0)">, </font><font color="rgb(0, 0, 187)">$user_identity</font><font color="rgb(0, 119, 0)">, </font><font color="rgb(0, 0, 187)">$user_level ?><br /> <?php </font><font color="rgb(0, 119, 0)">if ( </font><font color="rgb(0, 0, 187)">$user_ID </font><font color="rgb(0, 119, 0)">) : </font><font color="rgb(0, 0, 187)">?><br /> </font><font color="rgb(0, 119, 0)"><</font><font color="rgb(0, 0, 187)">h2</font><font color="rgb(0, 119, 0)">></font><font color="rgb(0, 0, 187)">Panou administrativ</font><font color="rgb(0, 119, 0)"></</font><font color="rgb(0, 0, 187)">h2</font><font color="rgb(0, 119, 0)">><br /> <</font><font color="rgb(0, 0, 187)">ul</font><font color="rgb(0, 119, 0)">><br /> <</font><font color="rgb(0, 0, 187)">li</font><font color="rgb(0, 119, 0)">></font><font color="rgb(0, 0, 187)">Logat drept </font><font color="rgb(0, 119, 0)"><</font><font color="rgb(0, 0, 187)">strong</font><font color="rgb(0, 119, 0)">></font><font color="rgb(0, 0, 187)"><?php </font><font color="rgb(0, 119, 0)">echo </font><font color="rgb(0, 0, 187)">$user_identity ?></font><font color="rgb(0, 119, 0)"></</font><font color="rgb(0, 0, 187)">strong</font><font color="rgb(0, 119, 0)">>.<br /> <</font><font color="rgb(0, 0, 187)">ul</font><font color="rgb(0, 119, 0)">><br /> <</font><font color="rgb(0, 0, 187)">li</font><font color="rgb(0, 119, 0)">><</font><font color="rgb(0, 0, 187)">a href</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"<?php bloginfo('url') ?>/wp-admin/"</font><font color="rgb(0, 119, 0)">></font><font color="rgb(0, 0, 187)">Dashboard</font><font color="rgb(0, 119, 0)"></</font><font color="rgb(0, 0, 187)">a</font><font color="rgb(0, 119, 0)">></</font><font color="rgb(0, 0, 187)">li</font><font color="rgb(0, 119, 0)">><br /><br /> </font><font color="rgb(0, 0, 187)"><?php </font><font color="rgb(0, 119, 0)">if ( </font><font color="rgb(0, 0, 187)">$user_level </font><font color="rgb(0, 119, 0)">>= </font><font color="rgb(0, 0, 187)">1 </font><font color="rgb(0, 119, 0)">) : </font><font color="rgb(0, 0, 187)">?><br /> </font><font color="rgb(0, 119, 0)"><</font><font color="rgb(0, 0, 187)">li</font><font color="rgb(0, 119, 0)">><</font><font color="rgb(0, 0, 187)">a href</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"<?php bloginfo('url') ?>/wp-admin/post-new.php"</font><font color="rgb(0, 119, 0)">></font><font color="rgb(0, 0, 187)">Scrie un articol</font><font color="rgb(0, 119, 0)"></</font><font color="rgb(0, 0, 187)">a</font><font color="rgb(0, 119, 0)">></</font><font color="rgb(0, 0, 187)">li</font><font color="rgb(0, 119, 0)">><br /> </font><font color="rgb(0, 0, 187)"><?php </font><font color="rgb(0, 119, 0)">endif </font><font color="rgb(255, 128, 0)">// $user_level >= 1 ?><br /><br /> </font><font color="rgb(0, 119, 0)"><</font><font color="rgb(0, 0, 187)">li</font><font color="rgb(0, 119, 0)">><</font><font color="rgb(0, 0, 187)">a href</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"<?php bloginfo('url') ?>/wp-admin/profile.php"</font><font color="rgb(0, 119, 0)">></font><font color="rgb(0, 0, 187)">Optiuni profil</font><font color="rgb(0, 119, 0)"></</font><font color="rgb(0, 0, 187)">a</font><font color="rgb(0, 119, 0)">></</font><font color="rgb(0, 0, 187)">li</font><font color="rgb(0, 119, 0)">><br /> <</font><font color="rgb(0, 0, 187)">li</font><font color="rgb(0, 119, 0)">><</font><font color="rgb(0, 0, 187)">a href</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"<?php bloginfo('url') ?>/wp-login.php?action=logout&redirect_to=<?php echo urlencode($_SERVER['REQUEST_URI']) ?>"</font><font color="rgb(0, 119, 0)">></font><font color="rgb(0, 0, 187)">Iesire</font><font color="rgb(0, 119, 0)"></</font><font color="rgb(0, 0, 187)">a</font><font color="rgb(0, 119, 0)">></</font><font color="rgb(0, 0, 187)">li</font><font color="rgb(0, 119, 0)">><br /> </</font><font color="rgb(0, 0, 187)">ul</font><font color="rgb(0, 119, 0)">><br /> </</font><font color="rgb(0, 0, 187)">li</font><font color="rgb(0, 119, 0)">><br /> </</font><font color="rgb(0, 0, 187)">ul</font><font color="rgb(0, 119, 0)">><br /><br /> </font><font color="rgb(0, 0, 187)"><?php </font><font color="rgb(0, 119, 0)">elseif ( </font><font color="rgb(0, 0, 187)">get_option</font><font color="rgb(0, 119, 0)">(</font><font color="rgb(221, 0, 0)">'users_can_register'</font><font color="rgb(0, 119, 0)">) ) : </font><font color="rgb(0, 0, 187)">?><br /><br /> </font><font color="rgb(0, 119, 0)"><</font><font color="rgb(0, 0, 187)">h2</font><font color="rgb(0, 119, 0)">></font><font color="rgb(0, 0, 187)">Identificare</font><font color="rgb(0, 119, 0)"></</font><font color="rgb(0, 0, 187)">h2</font><font color="rgb(0, 119, 0)">><br /> <</font><font color="rgb(0, 0, 187)">ul</font><font color="rgb(0, 119, 0)">><br /> <</font><font color="rgb(0, 0, 187)">li</font><font color="rgb(0, 119, 0)">><br /> <</font><font color="rgb(0, 0, 187)">form action</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"<?php bloginfo('url') ?>/wp-login.php" </font><font color="rgb(0, 0, 187)">method</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"post"</font><font color="rgb(0, 119, 0)">><br /> <</font><font color="rgb(0, 0, 187)">p</font><font color="rgb(0, 119, 0)">><br /> <</font><font color="rgb(0, 0, 187)">label </font><font color="rgb(0, 119, 0)">for=</font><font color="rgb(221, 0, 0)">"log"</font><font color="rgb(0, 119, 0)">><</font><font color="rgb(0, 0, 187)">input type</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"text" </font><font color="rgb(0, 0, 187)">name</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"log" </font><font color="rgb(0, 0, 187)">id</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"log" </font><font color="rgb(0, 0, 187)">value</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"<?php echo wp_specialchars(stripslashes($user_login), 1) ?>" </font><font color="rgb(0, 0, 187)">size</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"22" </font><font color="rgb(0, 119, 0)">/></font><font color="rgb(0, 0, 187)">Nume</font><font color="rgb(0, 119, 0)"></</font><font color="rgb(0, 0, 187)">label</font><font color="rgb(0, 119, 0)">><</font><font color="rgb(0, 0, 187)">br </font><font color="rgb(0, 119, 0)">/><br /> <</font><font color="rgb(0, 0, 187)">label </font><font color="rgb(0, 119, 0)">for=</font><font color="rgb(221, 0, 0)">"pwd"</font><font color="rgb(0, 119, 0)">><</font><font color="rgb(0, 0, 187)">input type</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"password" </font><font color="rgb(0, 0, 187)">name</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"pwd" </font><font color="rgb(0, 0, 187)">id</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"pwd" </font><font color="rgb(0, 0, 187)">size</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"22" </font><font color="rgb(0, 119, 0)">/></font><font color="rgb(0, 0, 187)">Parola</font><font color="rgb(0, 119, 0)"></</font><font color="rgb(0, 0, 187)">label</font><font color="rgb(0, 119, 0)">><</font><font color="rgb(0, 0, 187)">br </font><font color="rgb(0, 119, 0)">/><br /> <</font><font color="rgb(0, 0, 187)">input type</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"submit" </font><font color="rgb(0, 0, 187)">name</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"submit" </font><font color="rgb(0, 0, 187)">value</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"Send" </font><font color="rgb(0, 119, 0)">class=</font><font color="rgb(221, 0, 0)">"button" </font><font color="rgb(0, 119, 0)">/><br /> <</font><font color="rgb(0, 0, 187)">label </font><font color="rgb(0, 119, 0)">for=</font><font color="rgb(221, 0, 0)">"rememberme"</font><font color="rgb(0, 119, 0)">><</font><font color="rgb(0, 0, 187)">input name</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"rememberme" </font><font color="rgb(0, 0, 187)">id</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"rememberme" </font><font color="rgb(0, 0, 187)">type</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"checkbox" </font><font color="rgb(0, 0, 187)">checked</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"checked" </font><font color="rgb(0, 0, 187)">value</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"forever" </font><font color="rgb(0, 119, 0)">/></font><font color="rgb(0, 0, 187)">Tine</font><font color="rgb(0, 119, 0)">-</font><font color="rgb(0, 0, 187)">ma minte</font><font color="rgb(0, 119, 0)"></</font><font color="rgb(0, 0, 187)">label</font><font color="rgb(0, 119, 0)">><</font><font color="rgb(0, 0, 187)">br </font><font color="rgb(0, 119, 0)">/><br /> </</font><font color="rgb(0, 0, 187)">p</font><font color="rgb(0, 119, 0)">><br /> <</font><font color="rgb(0, 0, 187)">input type</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"hidden" </font><font color="rgb(0, 0, 187)">name</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"redirect_to" </font><font color="rgb(0, 0, 187)">value</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"<?php echo $_SERVER['REQUEST_URI']; ?>"</font><font color="rgb(0, 119, 0)">/><br /> </</font><font color="rgb(0, 0, 187)">form</font><font color="rgb(0, 119, 0)">><br /> </</font><font color="rgb(0, 0, 187)">li</font><font color="rgb(0, 119, 0)">><br /><br /> <</font><font color="rgb(0, 0, 187)">li</font><font color="rgb(0, 119, 0)">><</font><font color="rgb(0, 0, 187)">a href</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"<?php bloginfo('url') ?>/wp-register.php"</font><font color="rgb(0, 119, 0)">></font><font color="rgb(0, 0, 187)">Inregistrare</font><font color="rgb(0, 119, 0)"></</font><font color="rgb(0, 0, 187)">a</font><font color="rgb(0, 119, 0)">></</font><font color="rgb(0, 0, 187)">li</font><font color="rgb(0, 119, 0)">><br /> <</font><font color="rgb(0, 0, 187)">li</font><font color="rgb(0, 119, 0)">><</font><font color="rgb(0, 0, 187)">a href</font><font color="rgb(0, 119, 0)"><nowiki>=</nowiki></font><font color="rgb(221, 0, 0)">"<?php bloginfo('url') ?>/wp-login.php?action=lostpassword"</font><font color="rgb(0, 119, 0)">></font><font color="rgb(0, 0, 187)">Recupereaza parola</font><font color="rgb(0, 119, 0)"></</font><font color="rgb(0, 0, 187)">a</font><font color="rgb(0, 119, 0)">></</font><font color="rgb(0, 0, 187)">li</font><font color="rgb(0, 119, 0)">><br /> </</font><font color="rgb(0, 0, 187)">ul</font><font color="rgb(0, 119, 0)">><br /><br /> </font><font color="rgb(0, 0, 187)"><?php </font><font color="rgb(0, 119, 0)">endif </font><font color="rgb(255, 128, 0)">// get_option('users_can_register') ?><br /><br /> </font><font color="rgb(0, 119, 0)"></</font><font color="rgb(0, 0, 187)">li</font><font color="rgb(0, 119, 0)">></font> | |
+ | |||
+ | </code></div> | ||
+ | |||
+ | ===Separarea comentariilor de trackback-uri=== | ||
+ | |||
+ | Pentru inceput trebuie sa editam '''comments.php''' si sa adaugam : | ||
+ | |||
+ | <div class="codeblock"><code> | ||
+ | <font color="rgb(0, 0, 187)"><?php $comment_type </font><font color="rgb(0, 119, 0)"><nowiki>= </nowiki></font><font color="rgb(0, 0, 187)">get_comment_type</font><font color="rgb(0, 119, 0)">(); </font><font color="rgb(0, 0, 187)">?></font> | ||
+ | </code></div> | ||
+ | |||
+ | <br /> Astfel, vom diferentia trackback-urile de comentarii. Nu uitati ca la sfarsit sa adaugati <br /> | ||
+ | |||
+ | <div class="codeblock"><code> | ||
+ | <font color="rgb(0, 0, 187)"><?php } ?></font> | ||
+ | </code></div> | ||
+ | |||
+ | Acum, ca sunt afisate doar comentariile , trebuie sa faceti o copie a codului de mai sus, si sa faceti o mica schimbare : | ||
+ | |||
+ | <div class="codeblock"><code> | ||
+ | <font color="rgb(0, 0, 187)"><?php </font><font color="rgb(0, 119, 0)">if (</font><font color="rgb(0, 0, 187)">$comment_type </font><font color="rgb(0, 119, 0)"><nowiki>!= </nowiki></font><font color="rgb(221, 0, 0)">'comment'</font><font color="rgb(0, 119, 0)">) </font><font color="rgb(0, 0, 187)">{ ?></font> | ||
+ | |||
+ | </code></div> | ||
+ | |||
+ | <br /> Acum nu ramane decat sa faceti un cod CSS pentru a-l stila dupa bunul plac.[http://webdesignblog.ro/blog/comments/wordpress_hacks/ Sursa] | ||
[[Categorie:Wordpress]] | [[Categorie:Wordpress]] |
Versiunea de la data 12 ianuarie 2009 11:58
Cuprins |
HackWordPress
WordPress - cel mai răspândit sistem de blog - e normal să fi născut de-a lungul timpului multe situri care să trateze diferite aspecte. Un exemplu este HackWordPress.com, care are ca subtitlu Discussing All Things WordPress. Situl are un anişor, fiind înfiinţat la 1 octombrie 2007. Are doi autori principali - Kyle Eslick şi Jean-Baptiste Jung - şi mai mulţi autori secundari. Am dat de sit consultând 30+ (More) Most Wanted Wordpress Tips, Tricks And Hacks (corect, faptul că scrie more denotă că există o primă parte - am semnalat-o luna trecută aici). Sunt acolo tot felul de hack-uri utile, reţinându-mi atenţia în mod special How to: Create an Ajax-based Auto-completing Search Field for your Wordpress Theme. M-am ambiţionat să urmez toţi paşii şi mi-a ieşit dar folosirea termenilor din wp_terms nu mi s-a părut relevantă. Oricum, ideea e bună şi poate fi adaptată cu uşurinţă.
E doar un exemplu de articol interesant. Sunt desigur mai multe. Conform sitului, cele mai populare articole strânse în acest prim an de existenţă sunt:
Free Magazine Style WordPress Theme Gallery
Premium WordPress Themes Gallery
3-Column WordPress Theme Gallery
2-Column WordPress Theme Gallery
125×125 Button-Ready WordPress Themes Gallery
WordPress Theme Galleries
4-Column WordPress Theme Gallery
How To: Separate WordPress Comments and Trackbacks
K2 WordPress Theme Mods and Styles Gallery
60 Best Free WordPress Themes Gallery
Lectură plăcută fanilor WP, în special celor capabili să intre în "măruntaiele" lui.
Sursa
Deoarece am promis, sunt obligat sa scriu acest articol despre cateva hack-uri ale Wordpress-ului. Nu stiu daca "hack-uri" este cuvantul potrivit, dar este cel mai apropiat de intelesul articolului pe care am sa il scriu. Mai exact, in acest articol despre diferite insusiri ale Wordpress-ului, pe care acesta nu le are "out-of-the-box", si care pot fi indeplinite doar cu anumite plugin-uri sau hack-uri. Cu ajutor-ul hack-uilor, puteti sa transformati aceasta platforma de blogging intr-un adevarat sistem de administrare a continutului (CMS). Deoarece eu nu sunt un developer, ci un designer, am sa ma bazez mai mult pe tweak-urile front-end.
1. Titlu dinamic
Teoretic, acest lucru poate fi indeplinit cel mai usor cu ajutorul unor pluginuri gen WP-Seo. Acest tweak trebuie plasat in fisierul header.php, intre elementele title. Exemplu:
<title>
<?php
if (is_home()) { echo bloginfo('name'); }
elseif (is_404()) { echo 'Eroare - 404 - Pagina inexistenta'; }
elseif (is_category()) { echo 'Categorie:'; wp_title('');}
elseif (is_search()) { echo 'Rezultatele cautarii'; }
else { echo wp_title(''); }
?>
</title>
2. Template unic pentru fiecare categorie.
Acest mic tweak te ajuta sa dispui de un template pentru fiecare categorie in parte. Nu exista niciun cod special. Trebuie doar sa creati fisiere cu ID-ul categoriei, si sa includeti template-ul in ele. De exemplu, categoria cu ID-ul 5 va incarca template-ul din category-5.php , iar categoria cu ID-ul 10 din template-ul category-10.php .
3. Afisarea ultimilor 10 articole
Acest cod va afisa ultimile 10 articole intr-o lista neordonata :
<?php query_posts('showposts=10'); ?>
<ul>
<?php while (have_posts()) : the_post(); ?>
<li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
<?php endwhile;?>
</ul>
4. Tag-uri conditionale
Dupa cum ati vazut si in exemplul dat pentru titlul dinamic, am folosit tag-uri conditionale. Ce fac acestea? Acestea decid daca o anumita conditie are valoarea Adevarat sau Fals. Cateva dintre aceste tag-uri:
Pagina Principala :
is_home()
Prima pagina :
Cand prima pagina a siteului este afisata, ultimile articole sau o pagina.
is_front_page()
O pagina cu un singur articol:
is_single()
Pentru mai multe tag-uri conditionale, vizitati codex-ul WP.
5.Afisarea Reclamelor dupa primul articol
Si aici tot tag-urile conditionale fac toata treaba + variabila $loopcounter . Daca aceasta este egala cu 1, afisam reclamele, daca nu, nu le afisam.
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); $loopcounter++; ?>
<?php if ($loopcounter <= 1) { include (TEMPLATEPATH . '/reclame.php'); } ?>
<?php endwhile; ?>
<?php else : ?>
<?php endif; ?>
Dupa cum ati observat, in reclame.php trebuie sa fie codul pentru reclamele de la Google.
6.Plasarea unui formular de login in sidebar
Cu ajutorul acestui cod, puteti afisa o sectiune pentru membrii:
<li>
<?php global $user_ID, $user_identity, $user_level ?>
<?php if ( $user_ID ) : ?>
<h2>Panou administrativ</h2>
<ul>
<li>Logat drept <strong><?php echo $user_identity ?></strong>.
<ul>
<li><a href="<?php bloginfo('url') ?>/wp-admin/">Dashboard</a></li>
<?php if ( $user_level >= 1 ) : ?>
<li><a href="<?php bloginfo('url') ?>/wp-admin/post-new.php">Scrie un articol</a></li>
<?php endif // $user_level >= 1 ?>
<li><a href="<?php bloginfo('url') ?>/wp-admin/profile.php">Optiuni profil</a></li>
<li><a href="<?php bloginfo('url') ?>/wp-login.php?action=logout&redirect_to=<?php echo urlencode($_SERVER['REQUEST_URI']) ?>">Iesire</a></li>
</ul>
</li>
</ul>
<?php elseif ( get_option('users_can_register') ) : ?>
<h2>Identificare</h2>
<ul>
<li>
<form action="<?php bloginfo('url') ?>/wp-login.php" method="post">
<p>
<label for="log"><input type="text" name="log" id="log" value="<?php echo wp_specialchars(stripslashes($user_login), 1) ?>" size="22" />Nume</label><br />
<label for="pwd"><input type="password" name="pwd" id="pwd" size="22" />Parola</label><br />
<input type="submit" name="submit" value="Send" class="button" />
<label for="rememberme"><input name="rememberme" id="rememberme" type="checkbox" checked="checked" value="forever" />Tine-ma minte</label><br />
</p>
<input type="hidden" name="redirect_to" value="<?php echo $_SERVER['REQUEST_URI']; ?>"/>
</form>
</li>
<li><a href="<?php bloginfo('url') ?>/wp-register.php">Inregistrare</a></li>
<li><a href="<?php bloginfo('url') ?>/wp-login.php?action=lostpassword">Recupereaza parola</a></li>
</ul>
<?php endif // get_option('users_can_register') ?>
</li>
Separarea comentariilor de trackback-uri
Pentru inceput trebuie sa editam comments.php si sa adaugam :
<?php $comment_type = get_comment_type(); ?>
Astfel, vom diferentia trackback-urile de comentarii. Nu uitati ca la sfarsit sa adaugati
<?php } ?>
Acum, ca sunt afisate doar comentariile , trebuie sa faceti o copie a codului de mai sus, si sa faceti o mica schimbare :
<?php if ($comment_type != 'comment') { ?>
Acum nu ramane decat sa faceti un cod CSS pentru a-l stila dupa bunul plac.Sursa