Eliminar el contenido de before_widget / after_widget de Wp_Widget_Text

4

Quiero tomar el widget de texto y eliminar la marca anterior / final de la salida de texto que se muestra actualmente como

<div class="textwidget">Test</div>

El before_widget / after_widget que se asigna a cada área de widget está bajo mi control, pero el contenido del widget en sí está más allá de mí.

// Area 4, located in the footer. Empty by default.
    register_sidebar( array(
        'name' => __( 'First Footer Widget Area', 'lakeshoreautoclinic' ),
        'id' => 'first-footer-widget-area',
        'description' => __( 'The first footer widget area', 'lakeshoreautoclinic' ),
        'before_widget' => ' <p>',
        'after_widget' => '</p>',
        'before_title' => '<strong>',
        'after_title' => '</strong>',
    ) );

que genera esto para el entorno / widget

<p><strong>Test</strong><div class="textwidget">Test</div></p>
    
pregunta Devise 25.09.2011 - 21:02

2 respuestas

1

Tienes un par de opciones como lo veo:

Hay una etiqueta de plantilla the_widget () que te permite controlar las propiedades before_widget y after_widget. Sin embargo, se divorcia del widget de la interfaz de usuario de Widgets.

Alternativamente, puedes intentar lograr lo que quieras hacer a través de CSS. Si cambia su línea before_widget a esto:

'before_widget' => '<p id="%1$s" class="widget %2$s">',

obtendrás algunas clases e ID que harán que cada widget sea compatible con el estilo.

    
respondido por el mrwweb 06.05.2012 - 01:14
-2

El formateo de widgets de texto se puede encontrar en '/wp-includes/default-widgets.php' a partir de la línea 368. Para eliminar ese formateo, tendría que cambiar la línea 382.

<div class="textwidget"><?php echo !empty( $instance['filter'] ) ? wpautop( $text ) : $text; ?></div>

Simplemente elimina divs para que tengas

<?php echo !empty( $instance['filter'] ) ? wpautop( $text ) : $text; ?>

Sin embargo, de esa manera está cambiando los archivos principales de wordpress, lo que significa que podría cambiarse en las próximas actualizaciones, por lo que una mejor manera de hacerlo es copiar la clase de widget de texto, cambiar su nombre (y el constructor) y agregarlo a su Archivo de temas functions.php (o un complemento si lo desea).

Esta es también una forma de cambiar la posición del nombre del widget, etc.

    
respondido por el Goran Jakovljevic 23.04.2012 - 14:49

Lea otras preguntas en las etiquetas