¿Cómo Insertar Shortcodes en el Tema?

15 abr 2012, 20:47:25
Vistas: 19.7K
Votos: 1

Tengo un plugin de bloqueo de contenido.

Para bloquear contenidos, estoy usando este shortcode:

[wp-like-locker] Tu contenido bloqueado aquí... [/wp-like-locker]

y necesito bloquear cada entrada en mi blog. ¿Cómo podría insertar estos shortcodes en el tema y bloquear?

¡Muchas, muchas, muchas gracias por tu respuesta y tiempo!

0
Todas las respuestas a la pregunta 3
1

Puedes incluir shortcodes directamente en un tema usando do_shortcode. http://codex.wordpress.org/Function_Reference/do_shortcode

echo do_shortcode('[wp-like-locker] Tu contenido bloqueado aquí... [/wp-like-locker]');

Lo más probable es que quieras reemplazar el texto fijo "Tu contenido bloqueado aquí..." con la función que extrae el contenido del editor, como the_content http://codex.wordpress.org/Function_Reference/the_content

Podría verse así:

  // el loop
  $content = get_the_content();
  echo do_shortcode('[wp-like-locker]' . $content .  '[/wp-like-locker]');
15 abr 2012 21:26:34
Comentarios

...o simplemente llama directamente a la función asociada a ese shortcode y pasa $content a ella; no hay necesidad del sobrecosto adicional de do_shortcode...

onetrickpony onetrickpony
9 may 2012 00:13:02
0

Sería más rápido y limpio escribir una función para hacer esto y agregarla en functions.php. Se vería así (no probado):

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;
    }
}
8 may 2012 23:50:25
1

Puedes usar do_shortcode() para evaluar tu shortcode.

Puedes colocar el siguiente código en single.php en tu tema de WordPress. Esto aplicará a todas tus publicaciones que estén usando la plantilla por defecto.

   <?php 
    get_template_part( 'content', 'single' ); 

echo do_shortcode('[wp-like-locker]');

echo "Tu contenido bloqueado";

echo do_shortcode('[/wp-like-locker]');

?>
15 abr 2012 21:26:35
Comentarios

Este código es incorrecto. Revisa la página del Codex sobre do_shortcode() para ver cómo manejar shortcodes de apertura-cierre.

mrwweb mrwweb
8 may 2012 23:51:09