Tema infantil: ¿cómo reemplazar variables?

4

Voy a construir mi primer tema infantil. Comprendí cómo anular las funciones (¡espero!), Pero ¿cómo anular las variables? Por ejemplo, en una plantilla Premium quiero cambiar los valores de las variables de alimentación que se muestran en functions.php:

$app_rss_feed = 'http://xxx.rss';
$app_twitter_rss_feed = 'http://yyy.rss';
$app_forum_rss_feed = 'http://zzz.rss';

Pero si creo mi archivo functions.php dentro del tema de mi hijo y le asigno un valor RSS diferente a estas variables ... no pasa nada. Entonces, ¿cuál es la forma correcta de cambiar las variables?

    
pregunta Avionicom 23.03.2012 - 23:00

2 respuestas

3

Soy móvil, así que esto será corto.

Use el gancho after_setup_theme para agregar una función para establecer esas variables. Declárelos como globales dentro de esa función antes de configurarlos.

Espero que ayude.

Si alguien quiere agregar un ejemplo a esta respuesta antes de llegar a casa, siéntete libre. ;)

    
respondido por el Otto 24.03.2012 - 04:25
0

El functions.php del tema principal se carga más tarde, sobrescribirá esas variables. Muéstranos el código donde se declaran estas variables y donde se usan thex, puede haber un filtro que puedas usar.

Un ejemplo: en fetch_feed() puede filtrar la URL del feed:

do_action_ref_array( 'wp_feed_options', array( &$feed, $url ) );

Para filtrar los valores, puede buscar la URL del tema principal:

add_filter( 'wp_feed_options', 'wpse_46644_feed' );

function wpse_46644_feed( $arr )
{
    if ( 'http://example.com/feed/' === $arr[1] )
    {
        $arr[0]->set_feed_url( 'http://replacement.example.com/feed/' );
    }
}

No probado, solo una idea.

    
respondido por el fuxia 24.03.2012 - 00:28

Lea otras preguntas en las etiquetas