Category Archives: WordPress

Dezautentificare in WordPress

Pentru a integra in tema functionalitatea de dezautentificare ajunge sa adaugi un parametru in url si daca este setat acest parametru sa se apeleze functia de logout din WordPress.

Linkul trebuie sa fie ceva de genu:

http://domeniul.tau/?out=1

Adauga urmatorul cod in functions.php in tema WordPress:

1
2
3
4
5
6
7
8
9
10
<?php
 
if ($_GET['out'] == 1 ) {
  wp_logout();  // in acest moment se va face delogarea 
 
  wp_redirect(home_url()); // vom face redirect la prima pagina. Avem nevoie de un refresh ca sa se vada efectul de logout. 
 
}
 
?>

Autentificare in WordPress pe baza de email

Posibil ca la un moment dat vei avea nevoie de o logare automata pe baza de email. In mod normal pentru orice sistem de autentificare trebuie sa introduci un utilizator / o adresa email si o parola.

Dar ce se intampla cand ai doar o adresa de email?

In WordPress se poate aplica un mic hack ce NU ESTE RECOMANDAT, dar va arat cum se poate implementa:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
 
// Aceasta functie se poate copie in folderul vostru de tema WordPress in fisierul functions.php 
// @param:  string $email - adresa de email 
 
function autentificare_dupa_email ( $email ) {
   $user_id = email_exists($email);   // daca exista adrese de email, functia va returna id-ul utilizatorului 
 
    if (!$user_id) return false;      // daca nu avem $user_id inseamna ca nu exista utilizatorul in baza de date, deci nu se va loga
 
    wp_set_current_user($user_id, $email); // setam utilizatorul curent in WordPress
 
    wp_set_auth_cookie($user_id);          // creeam cookie-ul de autentificare pentru a pastra utilizatorul logat. 
}
 
// Unde vrem sa apelam auto autentificarea introducem urmatoare linie: 
 
autentificare_dupa_email ('sandor@mailinator.com'); 
 
// Utilizatorul in acest moment este logat si se poate apela functia is_user_logged_in() ce va returna TRUE. 
?>

Dezactiveaza bara de administrare in WordPress 3.3+

Cred ca nu numai pe mine ma incurca bara de administrare ce apare pe partea de front-end atata timp cat esti logat.

O varianta ar fi sa intri in admin dintr-un browser iar intr-un alt browser sa testezi site-ul.

Solutie

Solutia eleganta pentru a elimina bara de administrare in WordPress 3.3+ este adaugarea unei singure linii la inceputul fisierului functions.php ( fisierul se afla in folderul de tema, daca folosesti tema twentyeleven atunci vei gasi in wp-content/themes/twentyeleven/ )

1
2
3
4
5
6
7
<?php
 
// Adauga la inceputul fisierului functions.php pentru a dezactiva bara de administrare 
 
add_filter('show_admin_bar', '__return_false');
 
?>

WordPress shortcodes

Shortcodes exista in wordpress incepand cu versiunea 2.5 . A fost introdus pentru a nu repeta acelasi cod de mai multe ori.

De exemplu avem un site de imobiliare si dorim pentru fiecare post sa avem o harta interactiva . Pentru asta ar trebui sa avem in fiecare post o functie php pentru afisarea hartii + apelarea functiei.

Incepand cu wordpress 2.5+ este mult mai simplu. In cativa pasi putem sa obtinem rezultate:
1. Se creeaza functia pentru afisarea hartii in functions.php ( din tema ).
2. Adauga codul pentru generare shortcode, ex:

3. Introduceti in post : [googlemap]
si automat va aparea harta pentru post.

Bafta!

Afiseaza id-ul blogului curent

In WordPress incepand cu versiunea 3.0 avem posibilitatea de a crea mai multe siteuri / bloguri folosind un singur core.

Fiecare site are un id, pe baza acestui id se face identificarea. Am creat 2 siteuri avand id-uri: 2, 3 si vroiam ca pe siteul cu id-ul 3 sa am un alt homepage.

Pentru asta am folosit functia get_current_blog_id(). Aceasta functie returneaza id-ul siteului curent:

Custom query in WordPress

Salutare,

La inceputul inceputului toata lumea se joaca cu functiile din wordpress, dar la un moment dat vrei ceva diferit, vrei ceva altfel, vrei sa creez un tabel nou, sa comunici cu baza de date cum iti dorest.

Nu demult m-am lovit si eu de aceasta problema, si am cautat pana am gasit cum sa rulez custom query in wordpress.

Ex1. Vreau sa selectez toti utilizatorii din tabela wp_users
query(“SELECT * FROM wp_users”);
print_r($users); //si afisam datele
?>

Ex2. Vreau sa sterg un utilizator:
query(“DELETE FROM wp_users WHERE ID = $user_id”);

?>

Cam atat despre custom query in WordPress.

Bafta,
Echipa php1984.com

Autor: Sandor Kovacs
Email: office@php1984.com

Functia wp_dropdown_categories()

Salutare,

Functia wp_dropdown_categories() construieste un dropdown cu categoriile existente in baza de date. Este foarte usor de utilizat, personalizarea se face trimitand argumentele intr-un array.

Ex1: Dorim sa afisam toate categoriile in wordpress in ordine alfabetica:

‘category’,
‘orderby’ => ‘name’,
‘hierarchical’ => true,
‘show_option_none’ => __(‘Toate categoriile’));

wp_dropdown_categories($args);

?>

Obs: Se vor afisa toate categoriile care contin minim 1 articol. Pentru a afisa si categoriile fara niciun articol mai adaugam o cheie “hide_empty”

‘category’,
‘hide_empty’ => 0,
‘orderby’ => ‘name’,
‘hierarchical’ => true,
‘show_option_none’ => __(‘Toate categoriile’));

wp_dropdown_categories($args);

?>

Ex2: Dorim sa afisam si numarul de articole in dropdown:

‘category’,
‘hide_empty’ => 0,
‘orderby’ => ‘name’,
‘hierarchical’ => true,
‘show_count’ => 1,
‘show_option_none’ => __(‘Toate categoriile’));

wp_dropdown_categories($args);

?>

Plugin WordPress: WP-No-Category

Salut,

WordPressul are o constructie “interesanta” la ce priveste partea cu linkuri de categorii. Este la “moda” ( pentru optimizare) sa avem linkuri prietenoase, partea frumoasa este ca wordpressul stie asta, dar la categorii avem o surpriza mai putin placuta.

De ex am categoria “Tutoriale”. Voi avea urmatorul link:

http://domeniulmeu.ro/category/tutoriale

Pentru a sterge din url cuvantul “category” vom folosi acest plugin, numit “Wp-no-category”. Activand acest plugin in url vom avea:

http://domeniulmeu.ro/tutoriale

——————————————————————————–
Pluginul se poate descarca aici:
http://wordpress.org/extend/plugins/wp-no-category-base/

Bafta!

De ce wordpress?

Salut,

V-am pregatit o sectiune noua pentru voi, introducere in wordpress.

Si acum sa va raspund la intrebare:
– wordpressul este gratuit, se poate descarca de pe http://ro.wordpress.org ( are si varianta in limba romana)
– se poate instala foarte usor, nu necesita cunostine avansate de programare.
– sunt teme gata facute, doar trebuie “umplut” blogul sau siteul
– se poate folosi drept CMS.
– se poate extinde foarte usor descarcand pluginuri

Pe viitor o sa va prezint pluginuri, avantaje si dezavantaje + experiente intalnite.

De ce wordpress? Sa zicem ca te-ai gandit dupa-masa ca vrei un site, fara sa ai cunostine avansate de programare, pe dimineata poti sa ai unu gata functional. Si chiar asa este.

Nu ezitati sa descarcati si sa va instalati un wordpress.

Bafta!