¿Cómo crear un complemento que solo funcione en la página de inicio?

2

Tengo un complemento que solo quiero ejecutar cuando se está viendo la página de inicio. ¿Cómo apago mi complemento para que esto suceda?

Esto no funciona ...

 <?php
 /*
 Plugin Name: My Test Plugin
 */


 if ( is_home() OR is_sticky() )
 {
  add_filter( 'the_content', 'my_function' );
 }

 function my_function( $content )
 { 
  echo "hello world".$content;
 }

 ?>

Este es mi código original, pero ejecuta el filtro en cada página. Lo que me parece excesivo, ya que de todos modos solo quiero que el complemento se ejecute en la página de inicio.

 add_filter( 'the_content', 'wpse6034_the_content' );
 function wpse6034_the_content( $content )
 {
  if ( is_home() ) {
   $content .= '<p>Hello World!</p>';
  }
  return $content;
 }
    
pregunta Scott B 06.01.2011 - 13:56

1 respuesta

5

Debe agregar el filtro más adelante:

function _add_my_filter() {
 if ( is_home() OR is_sticky() )
 {
  add_filter( 'the_content', 'my_function' );
 }
}
add_action('template_redirect', '_add_my_filter');
    
respondido por el scribu 06.01.2011 - 14:08

Lea otras preguntas en las etiquetas