Incep prin a spune ca vorbesc de bloguri WordPress asa ca pe celelalte platforme ce veti citi mai jos nu v-ar ajuta cu ceva…la propriu.Pentru necunoscatori prin instructiune decizionala intelegem un cod/snippet care verifica informatia;daca respectiva informatie se afla in comun acord cu instructiunea vom avea un raspuns de tip TRUE(1 la MySQL, desi nu vom trata aceasta parte aici) sau FALSE(0).
[cc lang=”php”]…
if(ceva=altceva) Continuam cu o serie de instructiuni
else Facem altceva
…[/cc]
Pentru a intelege cat mai bine ce e mai jos puteti sa va uitati in codexul WordPress unde se explica foarte detaliat cum opereaza aceste functii.

http://codex.wordpress.org/Conditional_Tags

Functia 1.Afiseaza un mesaj popup pe prima pagina cu is_front_page()

Poate vrei sa iti saluti vizitatorii de pe prima pagina sau poate vrei sa anunti lumea cu privire la niste update-uri sau lucrari de mentenanta sau poate doar vrei sa-i enervezi la maxim cu niste reclame care par sa nu se mai termine.Uite cum se face…

Prima data, ai nevoie de Jquery si apoi de un plugin numit Jquery Colorbox(poti sa il iei de aici).Ia  colorbox.min.js din folderul “colorbox/colorbox” si colorbox.css (si folderul “images” corespondent fisierului) si pune-le intr-un folder “colorbox” din tema ta.

Apoi, trebuie sa creezi o fila  colorbox.load.js pentru a putea afisa popup-ul.Plaseaza aceasta fila tot in folderul colorbox.
[cc lang=”php”]jQuery(document).ready(function($) {
var $popup = $(“#mypopup”);
$.colorbox({href:$popup});
});[/cc]
Dupa asta, plaseaza codul HTML in pagina index.php(cu id-ul mypopup pentru CSS) si ascunde-l adaugand in style.css #mypopup {display:none;}

Plaseaza si codul de mai jos in functions.php si este aproape gata.
[cc lang=”php”]function front_popup() {
if(is_front_page()) {
// load colorbox.min.js
wp_enqueue_script(‘colorbox-js’, get_template_directory_uri().’/colorbox/colorbox.min.js’,array(‘jquery’));
// load colorbox.load.js
wp_enqueue_script(‘colorbox-load-js’, get_template_directory_uri().’/colorbox/colorbox.load.js’,array(‘colorbox-js’));
// load colorbox.css
wp_enqueue_style(‘colorbox-css’, get_template_directory_uri().’/colorbox/colorbox.css’);
}
}
add_action(‘wp_head’,’front_popup’);[/cc]
Ca sa ai si un buton de close mai trebuie sa adaugi un mic snippet.
[cc lang=”html”]Close[/cc]

Functia 2.Adauga extra CSS si Javascript intr-una din pagini cu is_page()

Poate ai nevoie sa incarci alte file CSS sau Javascript, dar numai intr-o anumita pagina.Poti sa adaugi direct in continut, dar nu e o practica buna, caci adesea apar erori.Metoda corecta este sa adaugi asta din functions.php:
[cc lang=”php”]function extra_assets() {
if(is_page(123)) { // ‘123’ este ID-ul paginii in cauza – asta trebuie schimbat cu Id-ul paginii tale
wp_enqueue_script(‘my-script’, get_template_directory_uri().’calea/catre/scriptul/tau/script.js’);
wp_enqueue_style(‘my-style’, get_template_directory_uri().’ceva/legatura/in/folderul/temei/style.css’);
}
}
add_action(‘wp_head’,’extra_assets’);[/cc]
Desi am scris si mai sus tine minte sa modifici ID-ul 123 cu Id-ul de la pagina ta!

Functia 3.O functie “Mai mult de la aceasta categorie” utilizand in_category()

Desigur, nu e intotdeauna necesar, dar poate o sa ai nevoie de asa ceva, candva, undeva.Sa zicem ca ai o categorie “Stiri”, iar celelalte categorii nu sunt potrivite pentru sectiunea ce trebuie creata.Aici intra in discutie tagul in_category():
[cc lang=”php”]function more_from_category($cat_ID) {
if(in_category($cat_ID) {
$posts = get_posts(‘numberposts=5&category=’.$cat_ID);
$output = ‘

More from this category

‘;
$output.= ‘

    ‘;
    foreach($posts as $post) {
    $output.= ‘

  • ‘.get_the_title.’
  • ‘;
    }
    wp_reset_query();
    $output.= ‘

‘;
echo $output;
}
}[/cc]
Adauga ce-i mai sus in functions.php, iar apoi adauga in single.php (<?php more_from_category(123); ?>) unde vrei sa-ti apara sectiunea.Trebuie totusi sa plasezi snippetuul in Loop(Daca nu stiti scrieti intr-un comentariu).

Functia 4.Aminteste-ti tie sau autorilor ca inca te afli pe pagina de preview cu is_preview()

Asta nu e ceva obligatoriu sau recomandat, caci in esenta vreau doar sa invatam cate ceva din acest articol.Desigur, poti sa il utlizezi ca si reminder, pentru acele nopti tarzii si nedormite cand nu mai stii daca ai dat publish sau preview.
[cc lang=”php”]function preview_warning() {
if(is_preview()) {
echo ‘

Heyy…esti inca pe pagina de preview!

‘;
}
}
add_action(‘the_content’,’preview_warning’);[/cc]
Adauga si bucata asta in style.css ca sa il faci mai UI friendly.
[cc lang=”css”]#preview-warning {
background:#800;
line-height:50px;
font-size:30px;
font-weight:bold;
text-align:center;
position:fixed;
bottom:0;
}[/cc]

Functia 5.Elimina anumite elemente din paginile 404 cu is_404()

Acesta va fi cel mai simplu truc din acest articol.De fapt, va fi atat de simplu, incat nu cred ca e nevoie de vreo explicatie.Doar pune acele elemente in codul de mai jos si gata.
[cc lang=”php”]if(!is_404()) {
// Aici vin acele elemente…atat…cam prea simplu
}[/cc]

Functia 6.Nu mai afisa fragmente automate cu has_excerpt()

Unora/multora nu le plac acele fragmente automate ce apar cu fiecare noua postare.Multi prefera sa le afiseze doar pe cele scrise de ei.
[cc lang=”php”]function full_excerpt() {
if (!has_excerpt()) {
echo ”;
} else {
echo get_the_excerpt();
}
}[/cc]
Codul trebuie adaugat in functions.php si apoi doar trebuie schimbate instantele din the_excerpt() in full_excerpt()

Functia 7.Afiseaza doar titlul in arhive structurate pe date cu is_date()

Cateodata, este suficient sa afisezi doar titlul in rezultatele unor cautari sau in arhivele structurate pe data.Mai pe scurt, avem nevoie de o functie care sa ne elimine continutul din Loop si sa ne lase doar titlul.Asta e un pic mai complicata caci fisierul archive.php e diferit pentru fiecare tema;de asemenea daca exista vreun fisier date.php va trebui sa-l modifici.Cauta in cod The Loop(e folosita pentru a afisa postarile) si adauga codul de mai jos urmarind si explicatiile din comentarii.
[cc lang=”php”]if(is_date()) {
// Daca tema utilizeaza h2 pentru titluri atunci si aici h2(analog pt restul)
echo ‘

‘.the_title().’

‘;
} else {
// …
// Codul original diin Loop
// …
}[/cc]
Doar ca idee, asemanatoare cu dunctia is_date() e si is_category() care verifica daca pagina de arhiva a unei categorii este afisata.

Functia 8.Un alt favicon pentru interfata admin cu is_admin()

Trucul acesta e tare util cand lucrezi cu vreo 20 de taburi, toate de la site-ul tau.Creeaza sau editeaza un favicon si salveaza-l de exemplu ca adminfav.ico
Ca sa o adaugi trebuie doar sa ai bucatica de cod de mai jos:
[cc lang=”php”]function admin_favicon() {
if(is_admin()) {
echo ‘‘;
}
}
add_action(‘admin_head’,’admin_favicon’);[/cc]

Functia 9.Afiseaza o imagine default in miniatura pentru postarile care nu au cu has_post_thumbnail()

Asta cam trebuie sa o ai daca faci o tema buna.In esenta functia verifica daca postarea are o imagine in miniatura atasata, iar daca nu are va afisa o alta.
[cc lang=”php”]if(has_post_thumbnail()) {
the_post_thumbnail();
}
else {
echo ‘'.get_the_title().'‘;
}[/cc]
In felul acesta, poti mentine o consistenta in aspectul temei tale.

Functia 10.Arata un meniu special pentru utilizatorii logati cu is_user_logged_in()

Daca ai ceva membri pe blog, utilizatori inregistrati mai bine zis, ai vrea probabil sa creezi vreun meniu special doar pentru ei.Uite cum:
[cc lang=”php”]function member_menu() {
if(is_user_logged_in()) {
echo ‘

‘;
}
}[/cc]
Meniul acesta e unul simplificat desigur, doar un titlu si elementele lui.Desigur, te mai poti juca cu codul, si poti utiliza functia creata mai sus <?php member_menu(); ?> sa o adaugi de exemplu in sidebar.Daca ai vrea un meniu in adevaratul sens al cuvantului ai putea utiliza funztia wp_nav_menu();(sincer nu stiu sigur, dar asa cred).

Alte idei?Daca mai stii vreo functie, vreun snippet ceva, ajuta si restul lumii, dar si pe mine desigur.

Leave a comment

Your email address will not be published. Required fields are marked *

Send this to a friend