Cum să Inserezi Shortcode-uri în Temă?
Am un plugin pentru blocarea conținutului.
Pentru blocarea conținutului, folosesc acest shortcode:
[wp-like-locker] Conținutul tău blocat aici... [/wp-like-locker]
și trebuie să blochez fiecare articol de pe blogul meu. Cum aș putea să inserez aceste shortcode-uri în temă și să blochez conținutul:
Vă mulțumesc foarte, foarte, foarte mult pentru răspuns și timp!
Puteți integra shortcode-uri direct într-o temă folosind funcția do_shortcode
.
http://codex.wordpress.org/Function_Reference/do_shortcode
echo do_shortcode('[wp-like-locker] Conținutul blocat aici... [/wp-like-locker]');
Cel mai probabil veți dori să înlocuiți textul hardcodat "Conținutul blocat aici..." cu funcția care preia conținutul din editor, cum ar fi the_content
http://codex.wordpress.org/Function_Reference/the_content
Ar putea arăta astfel:
// bucla
$content = get_the_content();
echo do_shortcode('[wp-like-locker]' . $content . '[/wp-like-locker]');

Ar fi mai rapid și mai curat să scrii o funcție pentru asta și să o pui în functions.php. Ar arăta astfel (netestat):
add_action( 'the_content', 'wpse49094_lock_content' );
function wpse49094_lock_content( $content ) {
if( in_the_loop() ) {
$content = do_shortcode( 'do_shortcode(\'[wp-like-locker]\' . $content . \'[/wp-like-locker]\'');
return $content;
}
}

puteți folosi do_shortcode() pentru a evalua shortcode-ul vostru.
puteți introduce codul de mai jos în fișierul single.php din tema WordPress. Acesta se va aplica tuturor postărilor care folosesc șablonul implicit.
<?php
get_template_part( 'content', 'single' );
echo do_shortcode('[wp-like-locker]');
echo "Conținutul blocat";
echo do_shortcode('[/wp-like-locker]');
?>

Acest cod este greșit. Verifică pagina Codex pentru do_shortcode()
pentru a vedea cum se gestionează shortcodurile deschise-închise.
