Cere oferta pret

Tag-uri de conditie WP

Tag-uri de conditie WP

Una dintre cele mai importante caracteristici ale WordPress-ului ar putea fi tag-urile de conditie. Codul iti permite sa il pui sa actioneze diferit in anumite situatii specifice. De exemplu, poti vedea daca utilizatorul a folosit Mac sau Windows si sa afisezi diferit continut in functie de sistem. De asemena, poti redirectiona un post daca rezultatul returneaza numai un singur rezultat.

If (Declaratii)

Cu declaratiile if php, poti intreba daca ceva este adevarat sau fals(1 sau 0). Daca declaratia este adevarata, codul va fi executat, iar daca este fals nu se va intampla nimic.

<?php
if(10 == 10):
 echo 'This is true, and will be shown.';
endif;

if(10 == 15):
 echo 'This is false, and will not be shown.';
endif;
?>

Poti folosi “elseif” , care va permite sa adaugati o alta declaratie, si va fi executata daca prima declaratie este falsa.

<?php
if(10 == 11):
 echo 'This is false, and will not be shown.';
elseif(10 == 15):
 echo 'This is false, and will not be shown.';
else:
 echo 'Since none of the above is true, this will be shown.';
endif;
?>

Cum functioneaza tag-urile de conditie?

Cand folosesti tag-urile WP, precum  is_home(), pur si simplu intrebi WordPress daca utilizatorul este in momentul de fata pe pagina de home sau nu.

<?php
if( is_home() ):
 echo 'User is on the homepage.';
else:
 echo 'User is not on the homepage';
endif;
?>

Combinand declaratiile

Sunt cazuri in care doresti sa verifici mai mult de o singura declaratie. Este usor de facut folosind “and” si “or”.

<?php
if( is_home() AND is_page( 5 ) ):
 echo 'User is on the homepage, and the home pages ID is 5';
endif;

if( is_home() OR is_page( 5 )):
 echo 'User is on the homepage or the page where the ID is 5';
endif;
?>

Cand sa folosesti tag-urile de conditie?

Tag-urile de conditie WordPress sunt bune de folosit daca vrei sa schimbi un continut in functie de raspunsul la intrebarea relevanta pentru site-ul tau.

Exemple utile de tag-uri conditionale:

- Verifica daca utilizatorul este logat

<?php

if ( is_user_logged_in() ):
 echo 'Welcome, registered user!';
else:
 echo 'Welcome, visitor!';
endif;

?>

-Verifica daca user-ul navigheaza de pe un Mac sau de pe un PC

<?php

if( stristr($_SERVER['HTTP_USER_AGENT'],"mac") ):
 echo 'Hello, I'm a Mac.';
else:
 echo 'And I'm a PC.';
endif;

?>

-Dezactiveaza  Google Analytics pentru utilizatorii logati

<?php
// function for inserting Google Analytics into the wp_head
add_action('wp_footer', 'ga');
function ga() {
 if ( !is_user_logged_in() ): // íf user is not logged in
?>
 <script type="text/javascript">
 var _gaq = _gaq || [];
 _gaq.push(['_setAccount', 'UA-XXXXXXX-X']); // insert your Google Analytics id here
 _gaq.push(['_trackPageview']);
 _gaq.push(['_trackPageLoadTime']);
 (function() {
 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 })();
 </script>
<?php
 endif;
}
?>

-Redirectioneaza catre postare daca exista un singur rezultat al cautarii

<?php
add_action('template_redirect', 'single_result');
function single_result() {
 if (is_search()) {
 global $wp_query;
 if ($wp_query->post_count == 1) {
 wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
 }
 }
}
?>

-Verifica daca utilizatorul poate face anumite activitati si care este rolul acestuia

<?php
if( current_user_can('editor') ):
 // true if user is an editor
endif;
if( !current_user_can('administrator') ):
 // true if user is not admin
endif;
if( current_user_can('edit_posts') ):
 // true if user can edit posts
endif;
?>

-Dezactiveaza Tinymce HTML Editor pentru toti, in afara de administrator

<?php
add_filter( 'wp_default_editor', create_function('', 'return "tinymce";') );
add_action( 'admin_head', 'disable_html_editor_wps' );
function disable_html_editor_wps() {
 global $current_user;
 get_currentuserinfo();
 if ($current_user->user_level != 10) {
 echo <style type="text/css">#editor-toolbar #edButtonHTML, #quicktags {display: none;}</style>;
 }
}
?>

Sursa: hongkiat.com